1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-06-29 06:54:50 +02:00
Commit graph

298 commits

Author SHA1 Message Date
Paul Schaub bec2fb5ce1
Increase test coverage by writing bunch of JUnit tests 2021-01-22 20:03:20 +01:00
Paul Schaub ee1f90e850
Test and implement revocation of single userIDs 2021-01-22 18:28:48 +01:00
Paul Schaub 9aae9ecc93
Add support for checking for revoked userIds 2021-01-22 16:52:09 +01:00
Paul Schaub 7864add645
Introduce Policy class for default algorithms 2021-01-22 16:50:08 +01:00
Paul Schaub 74c0c8a32e
Fix signature creation using keys without preferred algorithms 2021-01-21 13:47:43 +01:00
Paul Schaub 2009f7f7e3
Accept GENERIC_CERTIFICATION signatures when negotiating algorithms 2021-01-19 15:36:06 +01:00
Paul Schaub 1ce28a09af
Make UserId constructor private in favor of factory methods 2021-01-18 18:12:53 +01:00
Paul Schaub b25a78bc29
Fix changing of expiration dates for keys and subkeys 2021-01-18 17:09:57 +01:00
Paul Schaub bf8e29caa4
Add KeyRingInfo.getExpirationDate(fingerprint) to get subkey exp dates 2021-01-18 17:09:34 +01:00
Paul Schaub 7303c9b47d
Improve logging and verify purpose of signing keys 2021-01-09 21:03:24 +01:00
Paul Schaub c89558a01b
Split KeyFlagSelectionStrategies up into Has{Any|All}KeyFlagsSelectionStrategy 2021-01-09 20:55:19 +01:00
Paul Schaub 11c41e7ba7
Allow the user to specify a purpose for encryption 2021-01-09 20:30:34 +01:00
Paul Schaub 8df752e995
Add HasKeyFlagsSelectionStrategy 2021-01-09 20:16:13 +01:00
Paul Schaub 83bd157a78
Get rid of generics in selection strategies 2021-01-09 19:23:50 +01:00
Paul Schaub f5338e13e7
Get rid of ElGamal_GENERAL and rename ElGamal_ENCRYPT to ElGamal 2021-01-03 17:06:38 +01:00
Paul Schaub 5143da1311
Verify that keys can carry certain key flags 2021-01-03 17:01:08 +01:00
Paul Schaub 2378162953
Remove withDefaultKeyFlags method 2021-01-03 16:26:53 +01:00
Paul Schaub 82014ef6e5
Fix checkstyle issues 2021-01-03 15:52:18 +01:00
Paul Schaub 1c1f9d49ab
Introduce ImplementationFactory 2020-12-27 01:56:18 +01:00
Paul Schaub 5a04669661
Add missing package.info 2020-12-11 22:54:11 +01:00
Paul Schaub d65646efc6
Add XDH keytype factory method 2020-12-11 22:09:49 +01:00
Paul Schaub aff2e6b9f0
Verify that certification key has signing capable algorithm 2020-12-11 22:09:21 +01:00
Paul Schaub c38477f277
Add more javadoc 2020-12-11 18:53:10 +01:00
Paul Schaub ac08827f91
Move ECDSA and ECDH to ecc subpackage 2020-12-11 18:16:31 +01:00
Paul Schaub 5f289f4fe1
ElGamal: Deprecate GENERAL 2020-12-11 18:14:36 +01:00
Paul Schaub 3c88bdde9b
Refactor keytype related classes 2020-12-08 20:02:41 +01:00
Paul Schaub 4550425609 Wip: Add more elliptic curves, support for {X,Ed}25519 2020-12-08 19:26:57 +01:00
Paul Schaub 980782e629
Remove deprecated class PGPKeyRing 2020-12-08 19:14:52 +01:00
Paul Schaub db2e97b449
Fix some javadoc issues 2020-12-05 00:17:32 +01:00
Paul Schaub 451313d945
Fix checkstyle issues 2020-12-05 00:01:12 +01:00
Paul Schaub 1be3d4d7d8
Add documentation to KeyRingUtils 2020-12-03 22:46:59 +01:00
Paul Schaub 3173ddbc45
Add static factory methods for SecretKeyRingProtector implementations 2020-11-29 19:08:52 +01:00
Paul Schaub 935af80d14
Add some more utility methods 2020-11-29 19:06:49 +01:00
Paul Schaub 145fa8c83c
Move unlockSecretKey method to KeyRingUtils 2020-11-29 16:04:15 +01:00
Wiktor Kwapisiewicz 2a672aaf03
Add ability to change expiration date for the primary key 2020-11-27 17:11:56 +01:00
Paul Schaub 93abfd5517
SecretKeyRingEditor: Add revoke() shortcut method 2020-11-22 21:25:52 +01:00
Paul Schaub c266adb5a5
Fix getExpirationDate method for keys without expiration 2020-11-22 21:07:14 +01:00
Paul Schaub 5ee17fac69
Deprecate PGPainless's PGPKeyRing 2020-11-22 20:49:07 +01:00
Paul Schaub cae93022ad
Add KeyRingInfo class that helps to extract information about key rings 2020-11-22 20:48:09 +01:00
Paul Schaub 8305fcf0ee
Allow for revocation attributes to be passed in when revoking subkey directly 2020-11-20 12:19:45 +01:00
Paul Schaub 0edd8b616f
Add support for creating detached revocation certificates 2020-11-20 12:01:39 +01:00
Paul Schaub 5cdbb125b0
Refactoring: move KeyRingEditor to SecretKeyRingEditor in prep for more editor classes 2020-11-19 17:51:57 +01:00
Paul Schaub 4dd2b2f71a
Implement revoking subkeys for key-ids as well 2020-11-13 16:59:55 +01:00
Paul Schaub 4ed2cdaed9
Introduce UserId utility class 2020-11-13 15:59:28 +01:00
Paul Schaub 31844c5212
break for-loop of addUserId method when finding key 2020-11-13 15:11:33 +01:00
Paul Schaub 86c3487ad4
Some code cleanup 2020-11-13 15:08:37 +01:00
Paul Schaub 9b2ad24bda
Implement revocation of subkeys 2020-11-13 14:32:29 +01:00
Paul Schaub b4967db1a2
Implement adding subkeys to keyrings 2020-11-10 17:25:35 +01:00
Paul Schaub 99a2fcf1c0
Simplify KeyType API 2020-11-07 18:24:12 +01:00
Paul Schaub 6159428c9a
Add support for deleting user-ids (untested) 2020-11-03 19:56:35 +01:00
Paul Schaub 92e2828885
Add support for deleting subKeys (untested) 2020-11-03 19:32:01 +01:00
Paul Schaub 2d899e0a3b
Allow adding user-ids to sub keys 2020-11-03 19:29:15 +01:00
Paul Schaub 70ad4a274e
Change method name to toNoPassphrase() 2020-10-30 13:29:18 +01:00
Paul Schaub 423a3f1354
Merge pull request #18 from wiktor-k/fix-empty-passphrase
Fix creating keys with `Passphrase.emptyPassphrase()`
2020-10-30 12:31:06 +01:00
Paul Schaub 04420f8dac
Extract secret key checksum algorithm into constant 2020-10-30 12:28:11 +01:00
Wiktor Kwapisiewicz 59fe53c594
Fix creating keys with Passphrase.emptyPassphrase()
Previously the code supplied `null` to BouncyCastle's
encryptor/decryptor builder's build method and that caused
NullPointerException to be thrown.

The fix checks if the passphrase is empty and omits the BouncyCastle
builder in that case.

Fixes #16.
2020-10-30 12:22:05 +01:00
Wiktor Kwapisiewicz e30d0f6293
Remove RSA_SIGN and RSA_ENCRYPT as they are deprecated
This change removes two mechanisms that are deprecated in RFC 4880. The
spec explicitly mentions that "RSA Encrypt-Only (2) and RSA Sign-Only
are deprecated and SHOULD NOT be generated" [0].

The remaining RSA_GENERAL key type was renamed to just RSA for ease of
use for developers.

[0]: https://tools.ietf.org/html/rfc4880#section-9.1
2020-10-30 11:48:28 +01:00
Paul Schaub cdd1bf4198
Add documentation and throw NotYetImplementedException in stubs 2020-10-29 15:15:13 +01:00
Paul Schaub 99af9e0171
Re-encrypting whole keyring successful 2020-10-25 20:43:09 +01:00
Paul Schaub 623c4c930d
Adding user-ids works 2020-10-25 19:54:03 +01:00
Paul Schaub 651a69c118
Work on the editing api 2020-10-23 16:44:21 +02:00
Paul Schaub 207c41d411
Add initial draft interface for a key editor API 2020-10-22 01:20:43 +02:00
Paul Schaub f21231ad53
Trim user-ids 2020-10-20 23:23:25 +02:00
Paul Schaub c06bedd656
Introduce SignatureType enum 2020-10-20 22:59:06 +02:00
Paul Schaub 1b389f678a
Fix checkstyle issues 2020-10-20 22:58:45 +02:00
Paul Schaub 9670e5ecb9
Prevent additional user-id from being equal to primary user-id 2020-10-20 22:14:56 +02:00
Paul Schaub 11e7bc69fc
Fix NPE by initializing the SignatureGenerator 2020-10-16 13:11:46 +02:00
Paul Schaub 8c30db9bf1
Wip: Allow for additional user-ids to be added 2020-10-16 12:46:58 +02:00
Paul Schaub 6a4fa47c12
Remove unused imports 2020-09-09 20:49:31 +02:00
Paul Schaub 2af60454f5
Add KeyRingProtectionSettings.secureDefaultSettings() factory method 2020-08-31 12:37:34 +02:00
Paul Schaub 20f32926bb
Add Passphrase.fromPassword() and PasswordBasedSecretKeyRingProtector.forKey() factory methods 2020-08-31 12:26:07 +02:00
Paul Schaub 0a3f688b23
Add documentation for openpgp4fpr fingerprint methods 2020-07-10 20:31:33 +02:00
Paul Schaub 46af22cc50
Add toUri/fromUri methods to OpenPgpV4Fingerprint 2020-07-10 18:17:29 +02:00
Paul Schaub 6c449b86af
Move charset utf8 to static constant 2020-07-10 18:16:22 +02:00
Paul Schaub f108ccc30c
Fix compatibility with java8 2020-04-21 17:34:21 +02:00
Paul Schaub 9c1f6fc812
return null-cryptors for unprotected keys 2020-01-14 22:10:07 +01:00
Paul Schaub 4b61745c46
Add default constructor and fix condition 2020-01-14 22:09:13 +01:00
Paul Schaub 750d93b009
Easier generation of simple keys with password 2020-01-12 20:32:55 +01:00
Paul Schaub db15a3e962
Fix XMPP key selection strategy by auto appending xmpp: if missing 2020-01-12 19:56:16 +01:00
Paul Schaub 09e0a5360d
Reuse MultiMap constructor of Whitelist selection strategy 2020-01-12 18:34:21 +01:00
Paul Schaub 8a2051904a
Further refactoring of KeyRingBuilder 2020-01-12 16:37:24 +01:00
Paul Schaub 81c3a471a7
Refactor KeyRingBuilder 2020-01-12 15:40:50 +01:00
Paul Schaub 79b04d1535
Refactor KeyRingReader 2020-01-12 13:11:10 +01:00
Paul Schaub cd4bf1ef96
Rely on ProviderFactory for access to BouncyCastleProvider 2020-01-10 19:03:04 +01:00
Paul Schaub ead54cb00b
Fix checkstyle issues 2020-01-10 18:46:31 +01:00
Paul Schaub 5134463883
Fix animalsniffer bugs! 2020-01-10 18:42:39 +01:00
Paul Schaub ed440e4434
Make toString() @NonNull 2020-01-09 20:00:28 +01:00
Paul Schaub e9b5e6278a
Use StandardCharsets.UTF_8 2020-01-09 20:00:17 +01:00
Paul Schaub 2e3a435d4e
Wildcard Selection Strategy: make inner classes static 2020-01-09 19:58:52 +01:00
Florian Schmaus 7690b542ab Add type parameters where possible 2019-07-28 12:28:55 +02:00
Florian Schmaus 9f062ebd79 Remove no longer reuired KeyRingSubKeyFix
since we are using BouncyCastle 1.62 now.
2019-07-28 12:28:55 +02:00
Paul Schaub 36c871f198
Allow different providers than BC 2019-04-02 21:11:16 +02:00
Paul Schaub fe52a7f398
Fix OpenPgpV4Fingerprint.getKeyId() 2018-08-17 17:28:17 +02:00
Paul Schaub e9958bc620
Move And + Or selection strategies to util 2018-08-03 12:28:25 +02:00
Paul Schaub b89d3562ac
Add @Nullable, @Nonnull annotations through findbugs 2018-07-31 20:09:16 +02:00
Paul Schaub 8537f9a165
Add SecretKeyPassphraseProvider and default implementations 2018-07-23 14:27:43 +02:00
Paul Schaub cdf2fd4aca
PGPainless 0.0.1-alpha1 2018-07-19 16:09:37 +02:00
Paul Schaub 39c5464c37
Rename module painless-core -> pgpainless-core
Fix build.gradle
2018-07-19 00:15:06 +02:00