1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-06-30 15:26:43 +02:00
Commit graph

957 commits

Author SHA1 Message Date
Paul Schaub 975d59c5a9
Add method to allow for encryption for keys with missing keyflags.
There are legacy keys around, which do not carry any key flags.
This commit adds a method to EncryptionOptions that allow PGPainless to encrypt
for such keys.

Fixes #400
2023-08-03 14:04:40 +02:00
Paul Schaub e167fa37f3
Make use of new ArmoredOutputStream.Builder 2023-08-01 16:53:55 +02:00
Paul Schaub 8cdb7ee4e0
Add more tests for V6 fingerprints 2023-08-01 15:29:24 +02:00
Paul Schaub 28e4bc44a1
Further integration of pgpainless-wot 2023-07-22 00:30:52 +02:00
Paul Schaub 6ac019a420
Add isAuthenticatablySignedBy() to MessageMetadata 2023-07-21 17:30:11 +02:00
Paul Schaub 44690d063c
Rename CertificateAuthority methods 2023-07-21 17:11:56 +02:00
Paul Schaub c26ddc116e
Add identify API endpoint 2023-07-21 17:08:48 +02:00
Paul Schaub ccbf4ab84d
Add documentation to CertificateAuthority 2023-07-21 16:55:21 +02:00
Paul Schaub 8926ff9dfb
s/identify/lookup 2023-07-21 16:50:49 +02:00
Paul Schaub bf9bf94fb0
Integrate WoT by adding EncryptionOptions.addAuthenticatableRecipients() method 2023-07-21 16:38:34 +02:00
Paul Schaub 9d93c0f5ae
Add CertificateAuthority interface to enable integration with pgpainless-wot 2023-07-21 16:25:29 +02:00
Paul Schaub 59fa51bdf3
Expose SignatureValidator methods 2023-07-19 11:47:53 +02:00
Paul Schaub f46790be00
Require UTF8 for KeyRingBuilder.addUserId(byte[]) 2023-07-12 16:49:38 +02:00
Paul Schaub d3fe850c95
Initial implementation of 'change-key-password' command of SOP-07 2023-07-12 00:40:59 +02:00
Paul Schaub e61d414a98
Manually checkout SignatureSubpacketsUtil methods for wot 2023-07-07 11:26:55 +02:00
Paul Schaub 6487cf2371
Remove unused Certification class 2023-07-07 11:25:26 +02:00
Paul Schaub d52968514c
Add methods to access delegations and 3rd-party certifications from keys 2023-07-07 11:25:08 +02:00
Paul Schaub 172972fe29
Add utility methods to KeyRingInfo 2023-07-07 11:24:43 +02:00
Paul Schaub 30481cd510
Fix unreliable unit test
Fixes #389
2023-07-07 11:07:14 +02:00
Paul Schaub 50bbdddc73
Update comment of KeyRingReader.publicKeyRingCollection() 2023-07-07 10:47:02 +02:00
Paul Schaub 4cc8054cff
KeyRingReader.readPublicKeyRingCollection: Handle secret keys as public keys 2023-07-07 10:43:41 +02:00
Paul Schaub f37aa1097c
Prevent IAE when encountering non-UTF8 User-ID on a public key
Fixes #392
2023-07-07 10:42:18 +02:00
Paul Schaub 4be2956469
Remove unused methods from ImplementationFactory 2023-06-27 23:22:23 +02:00
Paul Schaub 0505b943de
Fix javadoc 2023-06-27 14:56:29 +02:00
Paul Schaub 53d6260210
Implement method to create minimal revocation certificate.
Fixes #386
2023-06-20 17:30:19 +02:00
Paul Schaub 2a7c6af022
Rename SecretKeyRingEditor.createRevocationCertificate() to createRevocation() 2023-06-20 16:41:46 +02:00
Paul Schaub beccd6c5c7
Postpone removal of OpenPgpMetadata to 1.6.X 2023-06-19 12:36:59 +02:00
Paul Schaub c962b7920b
Update workaround description in KeyInfo 2023-06-19 12:36:59 +02:00
Paul Schaub 90626a8a76
Add SignatureSubpacketsUtil.getRegularExpressions() 2023-06-19 11:27:49 +02:00
Paul Schaub 82cea93e7b
Replace JcaPGPObjectFactory with custom PGPObjectFactory.
Workaround for https://github.com/bcgit/bc-java/issues/1428
2023-06-15 15:20:08 +02:00
Paul Schaub 6b145475a8
Add test for anonymous recipients 2023-06-15 14:28:56 +02:00
Paul Schaub e9cd6c55cf
Bump Bouncycastle 2023-06-15 14:28:45 +02:00
Paul Schaub 558e6693e6 Add javadoc 2023-06-15 14:10:52 +02:00
Paul Schaub 344f1fc67c Allow hidden recipients using wildcard keyIDs 2023-06-15 14:10:52 +02:00
Paul Schaub 8369333355
Clean unused methods from SignatureUtils 2023-06-12 15:04:57 +02:00
Paul Schaub 1fca51d771
SigningOptions: Add methods to sign with a single, chosen signing subkey 2023-06-08 14:04:06 +02:00
Paul Schaub 5aabd1ced4
Fix faulty bit-strength policy check for signing subkeys 2023-06-08 13:54:20 +02:00
Paul Schaub 25cde8225d
Remove outdated javadoc @throws annotations 2023-06-08 03:18:24 +02:00
Paul Schaub 7769ff8173
Direct-Key signatures are calculated over the signee only, not the signer plus signee 2023-06-06 11:00:44 +02:00
Paul Schaub 41e663e25b
Allow setting custom version header when encrypting/signing message 2023-06-05 20:18:06 +02:00
Paul Schaub 324302c536
Add MultiMap.flatten() 2023-06-05 19:44:47 +02:00
Paul Schaub 41d734f2db
ProviderFactory: Provide default implementation of _getProviderName() 2023-06-05 19:30:14 +02:00
Paul Schaub 96da3db2b8
Set AES-128 as default symmetric algorithm.
The crypto-refresh marks AES-128 as MUST implement.
2023-06-02 14:28:19 +02:00
Paul Schaub d25e7419c9
Replace new Date().getTime() with System.getCurrentTimeMillis() 2023-06-02 00:01:34 +02:00
Paul Schaub 528591f906
Key generation: Set default expiration periof of 5 years
Can be changed by calling 'keyRingBuilder.setExpirationDate(null);'
2023-06-01 23:43:41 +02:00
Paul Schaub be5562d273
Fix typo in feature name 2023-05-30 14:51:32 +02:00
Paul Schaub 55058d6070
Rename GNUPG features 2023-05-22 14:37:02 +02:00
Paul Schaub 5c11b8af08
Mark ArmoredInputStreamFactory methods as @Nonnull 2023-05-16 16:44:26 +02:00
Paul Schaub 772c0407b3
Mark ArmoredOutputStreamFactory methods as @Nullable 2023-05-16 16:43:53 +02:00
Paul Schaub 8b4dd0fc25
Annotate CollectionUtils methods with @Nullable, @Nonnull 2023-05-16 16:39:58 +02:00
Paul Schaub 126571a6cd
Document ProviderFactory 2023-05-16 16:34:57 +02:00
Paul Schaub d3ae02f137
Mark KeyRingReader.read*KeyRing() as @Nullable/@Nonnull 2023-05-16 16:26:52 +02:00
Paul Schaub 1bf9abbdaf
Add link to EdDSA spec 2023-05-16 16:19:20 +02:00
Paul Schaub 0805076392
Deprecate ElGamal key type 2023-05-16 16:16:42 +02:00
Paul Schaub e08505e07d
CertificateValidator: Skip revocation signatures not made by primary key 2023-05-03 17:25:59 +02:00
Paul Schaub 88de47490b
SignatureValidator: Prevent NPE when no EmbeddedSignature subpacket is found 2023-05-03 17:24:16 +02:00
Paul Schaub 005b9d477a
KeyRingReader: Remove unused @throws IOException 2023-05-03 17:23:13 +02:00
Paul Schaub fb581f11c7
UserId.parse(): Prevent self-referencing javadoc 2023-05-03 17:20:02 +02:00
Paul Schaub 3cea985365
TeeBCPGInputStream: Annotate byte[] arg as @Nonnull 2023-05-03 17:19:18 +02:00
Paul Schaub 78cb2ec3d0
Do not catch and immediatelly rethrow exception 2023-05-03 17:16:56 +02:00
Paul Schaub 7a194c517a
Remove KeyRingUtils.removeSecretKey() in favor of stripSecretKey() 2023-05-03 17:15:30 +02:00
Paul Schaub 09bacd40d1
SecretKeyRingEditor: referenceTime cannot be null anymore 2023-05-03 17:14:18 +02:00
Paul Schaub 21ae48d8c1
Use assert statements to flag impossible NPEs 2023-05-03 17:13:29 +02:00
Paul Schaub d05ffd0451
Make DateUtil null-safe 2023-05-03 16:11:06 +02:00
Paul Schaub 953206b4ed
Make more of the API null-safe by using @Nonnull/@Nullable 2023-05-03 16:03:50 +02:00
Paul Schaub 3b8a1b47d7
Add javadoc p-tags 2023-05-03 16:03:12 +02:00
Paul Schaub 64c6d7a904
Annotate EncryptionOptions methods with @Nonnull 2023-05-03 14:38:52 +02:00
Paul Schaub 304350fe5c
Add p-tags to EncryptionOptions javadoc 2023-05-03 14:38:38 +02:00
Paul Schaub 15f6cc70b1
Add MessageMetadata.getRecipientKeyIds()
Fixes #376
2023-05-03 14:30:08 +02:00
Paul Schaub 8869d9bd78
Simplify key template methods by replacing String and UserID args with CharSequence 2023-05-03 13:51:59 +02:00
Paul Schaub 9c81137f48
Add template methods to generate RSA keys with primary and subkeys 2023-05-03 13:51:34 +02:00
Paul Schaub 52fa7e4d46
OpenPgpMessageInputStream: Return -1 instead of throwing MalformedOpenPgpMessageException when calling read() on drained stream 2023-05-01 09:35:28 +02:00
Paul Schaub 0cb0885251
Relax constraints on decryption keys to improve interop with faulty, broken legacy clients that have been very naughty and need punishment 2023-04-25 13:28:07 +02:00
Paul Schaub 2587f19df3
BC173: Fix CRC error detection by improving error check 2023-04-09 18:49:20 +02:00
Paul Schaub 46f7cfdb1a
Introduce OpenPgpv6Fingerprint 2023-04-07 12:28:27 +02:00
Paul Schaub e744668f5a
Deprecate OpenPgpFingerprint.parse() methods 2023-04-07 11:47:40 +02:00
Paul Schaub acb5d3fd9e
getEncryptionSubkeys(): Compare expirations against reference date 2023-04-07 11:26:38 +02:00
Paul Schaub ed2c53f5d6
Make getLastModified() @Nonnull 2023-02-25 11:26:58 +01:00
Bastien JANSEN 30771f470a Support version 3 signature packets 2023-02-08 14:42:22 +01:00
Paul Schaub 695e03f8b6
Add EncryptionOptions.hasEncryptionMethod() 2023-01-31 18:19:08 +01:00
DenBond7 9f98e4ce37 Fixed redundant dot an exception message. 2023-01-23 10:47:37 +01:00
Paul Schaub a50c2d9714
More missing javadoc 2023-01-16 20:15:57 +01:00
Paul Schaub 8cb773841b
Revert certificate-store integration
Integration of certificate-store and pgpainless-cert-d makes packaging
complicated. Alternatively, users can simply integrate the certificate-store
with PGPainless themselves.
2023-01-13 19:18:02 +01:00
Paul Schaub 7a2c9d864c Add javadoc to DecryptionBuilder 2023-01-13 17:53:06 +01:00
Paul Schaub 980daeca31
Add missing javadoc to CustomPublicKeyDataDecryptorFactory 2023-01-04 18:55:57 +01:00
Paul Schaub 41cc71c274
Add missing javadoc to ConsumerOptions 2023-01-04 18:50:10 +01:00
Paul Schaub abf723cc6c
Add note about UserId.parse().toString() not guaranteing identity 2023-01-04 18:27:14 +01:00
Paul Schaub 94d9efa1e7
OpenPgpMessageInputStream: Ignore non-integrity-protected data if configured 2023-01-02 13:12:14 +01:00
Paul Schaub 35c62663e9
Fix javadoc 2022-12-22 15:30:11 +01:00
Paul Schaub 44738766e5
Add comments to regexes 2022-12-22 15:19:42 +01:00
Paul Schaub 533b54a6b7
Add some more tests for valid email address formats 2022-12-22 15:01:10 +01:00
Paul Schaub 75f69c0473
Fix Android compatibility by using Matcher.group(int) instead of Matcher.group(String) 2022-12-20 17:27:32 +01:00
Paul Schaub 94851ccb8f Add javadoc for UserId.parse() 2022-12-20 17:20:44 +01:00
Paul Schaub 59217d2501 Implement UserId.parse(mailbox) 2022-12-20 17:20:32 +01:00
Paul Schaub 6a5c6c5509 Improve ElGamal validation by refraining from biginteger for loop variable 2022-12-15 18:05:55 +01:00
Paul Schaub bfbaa30e4c Make KO-countermeasures configurable (off by default) 2022-12-15 18:05:46 +01:00
Paul Schaub 2d46fb18f7 SOP: Allow generation of keys without user-ids 2022-12-15 18:04:59 +01:00
Paul Schaub 4f435a0fa0 Fix parameter check for DSA keys
Fixes #345
2022-12-15 18:04:34 +01:00
Paul Schaub f5414bcc19 Use proper method to unlock private key when detached-signing 2022-12-15 18:04:19 +01:00
Paul Schaub bfcfaa04c4 Add UserId.compare(uid1, uid2, comparator) along with some default comparators 2022-12-15 18:03:37 +01:00