1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-12-25 12:27:58 +01:00
Commit graph

1159 commits

Author SHA1 Message Date
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
44608744c2
Add missing license header 2023-04-14 16:17:58 +02:00
2587f19df3
BC173: Fix CRC error detection by improving error check 2023-04-09 18:49:20 +02:00
46f7cfdb1a
Introduce OpenPgpv6Fingerprint 2023-04-07 12:28:27 +02:00
e744668f5a
Deprecate OpenPgpFingerprint.parse() methods 2023-04-07 11:47:40 +02:00
acb5d3fd9e
getEncryptionSubkeys(): Compare expirations against reference date 2023-04-07 11:26:38 +02:00
ed2c53f5d6
Make getLastModified() @Nonnull 2023-02-25 11:26:58 +01:00
d03f84f415
Add reuse header to VerifyVersion3SignaturePacketTest 2023-02-08 14:49:10 +01:00
Bastien JANSEN
30771f470a Support version 3 signature packets 2023-02-08 14:42:22 +01:00
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
a50c2d9714
More missing javadoc 2023-01-16 20:15:57 +01:00
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
7a2c9d864c Add javadoc to DecryptionBuilder 2023-01-13 17:53:06 +01:00
980daeca31
Add missing javadoc to CustomPublicKeyDataDecryptorFactory 2023-01-04 18:55:57 +01:00
41cc71c274
Add missing javadoc to ConsumerOptions 2023-01-04 18:50:10 +01:00
abf723cc6c
Add note about UserId.parse().toString() not guaranteing identity 2023-01-04 18:27:14 +01:00
00b593823a
Modify SED test to test successful decryption of SED packet 2023-01-02 13:18:18 +01:00
94d9efa1e7
OpenPgpMessageInputStream: Ignore non-integrity-protected data if configured 2023-01-02 13:12:14 +01:00
35c62663e9
Fix javadoc 2022-12-22 15:30:11 +01:00
44738766e5
Add comments to regexes 2022-12-22 15:19:42 +01:00
533b54a6b7
Add some more tests for valid email address formats 2022-12-22 15:01:10 +01:00
a376587680
Add tests for international user-ids 2022-12-22 14:43:09 +01:00
75f69c0473
Fix Android compatibility by using Matcher.group(int) instead of Matcher.group(String) 2022-12-20 17:27:32 +01:00
94851ccb8f Add javadoc for UserId.parse() 2022-12-20 17:20:44 +01:00
59217d2501 Implement UserId.parse(mailbox) 2022-12-20 17:20:32 +01:00
6a5c6c5509 Improve ElGamal validation by refraining from biginteger for loop variable 2022-12-15 18:05:55 +01:00
bfbaa30e4c Make KO-countermeasures configurable (off by default) 2022-12-15 18:05:46 +01:00
2d46fb18f7 SOP: Allow generation of keys without user-ids 2022-12-15 18:04:59 +01:00
4f435a0fa0 Fix parameter check for DSA keys
Fixes #345
2022-12-15 18:04:34 +01:00
f5414bcc19 Use proper method to unlock private key when detached-signing 2022-12-15 18:04:19 +01:00
907d1c4d1c move V5OpenPgpKeyTest to org.pgpainless.key 2022-12-15 18:03:49 +01:00
bfcfaa04c4 Add UserId.compare(uid1, uid2, comparator) along with some default comparators 2022-12-15 18:03:37 +01:00
b07e0c2be5 Programmatically confirm that we do not yet support OpenPGP V5 keys :/ 2022-12-15 18:03:25 +01:00
e69c4a8cf7 More UserId tests 2022-12-15 18:03:15 +01:00
837fbd3635 Simplify UserIdTests 2022-12-15 18:03:04 +01:00
4c1d359971 Deprecate UserId.asString() 2022-12-15 18:02:53 +01:00
b0c283e143 Clean up UserId.toString() behavior 2022-12-15 18:02:44 +01:00
6913aa3d6d
Add more tests for RevocationState 2022-11-25 15:41:56 +01:00
ae6a427d90
Add test for UniversalSignatureBuilder 2022-11-25 15:34:54 +01:00
4426895814
Add tests for CollectionUtils 2022-11-25 14:55:46 +01:00
e1ab128c2e
Add annotations to GnuPGDummyKeyUtil 2022-11-25 14:40:57 +01:00
7cc2751527
Add @Nonnull annotations to OpenPgpMessageSyntax 2022-11-25 14:38:45 +01:00
3f70936ff1
Add documetation to PDA class 2022-11-25 14:26:55 +01:00
e88a88a447
Add javadoc for OpenPgpMessageInputStream factory method return value 2022-11-24 22:24:12 +01:00
39d656d2dd
Add javadoc for HardwareDataDecryptorFactory constructor argument 2022-11-24 22:22:21 +01:00
5bdd4f6ad0
Test rejection of messages with unacceptable skesk kek algorithm 2022-11-24 22:09:22 +01:00
a495f2275c
Precise error message for IntegrityProtectedInputStream 2022-11-24 21:34:25 +01:00
c72b3a4b8e Improve CachingBcPublicKeyDataDecryptorFactoryTest 2022-11-23 20:42:54 +01:00
be7349f0b5 Clean up CachingBcPublicKeyDataDecryptorFactory 2022-11-23 20:42:54 +01:00
b495e602e5 More precise error message for malformed message 2022-11-23 20:42:54 +01:00
25190fc5df SOP: Use new MessageMetadata class 2022-11-23 20:42:54 +01:00
b36b5413e2 Fix isEncryptedFor() 2022-11-23 20:42:54 +01:00
27fd15a012 Update examples with new MessageMetadata class 2022-11-23 20:42:54 +01:00
f005885318 Add MessageMetadata.isVerifiedSigned() and .getVerifiedSignatures() 2022-11-23 20:42:54 +01:00
c031ea9285 Remove empty newlines 2022-11-23 20:42:54 +01:00
6926cedf61 Fix compilation errors and simplify LayerIterator by introducing Packet interface 2022-11-23 20:42:54 +01:00
8f6227c14b Rework some tests to use MessageMetadata 2022-11-23 20:42:54 +01:00
39f8f89fe0 Add convenience methods to MessageMetadata 2022-11-23 20:42:54 +01:00
616e14d043 Enable tests for unsupported s2k identifiers 2022-11-23 20:42:54 +01:00
e4560ac5b5 Cleartext Signaure Framework: Support for multiple Hash: headers 2022-11-23 20:42:17 +01:00
6ba7e91f2a Add documentation and removal-TODO to old OpenPgpMetadata class 2022-11-23 20:42:17 +01:00
4e4c095d8d Rename tests to end in Test 2022-11-23 20:42:17 +01:00
b95568f30a Rename IgnoreMarkerPacketsTest 2022-11-23 20:42:17 +01:00
8faec25ecf Enable previously disabled test for marker+seipd packet processing 2022-11-23 20:42:17 +01:00
fd2f6523ec More specific exception message for when nesting depth is exceeded 2022-11-23 20:42:17 +01:00
1437604836 Add documentation to DecryptionStream 2022-11-23 20:42:17 +01:00
70cca563d7 Add javadoc to getMetadata() and getResult() 2022-11-23 20:42:17 +01:00
33d9a784bb Add javadoc to MEssageMetadata class 2022-11-23 20:42:17 +01:00
3023d532e3 Make DecryptionStream.getMetadata() first-class, deprecate getResult() 2022-11-23 20:42:17 +01:00
e976cc6dd2 Move getResult() method around 2022-11-23 20:42:17 +01:00
03d04fb324 Tests: Replace usages of default algorithm policies with specific policies 2022-11-23 20:42:17 +01:00
d7e4fcaec6 OpenPgpMessageInputStream: Source verification certs from ConsumerOptions.getCertificateSource() 2022-11-23 20:42:17 +01:00
a792952845 Remove code to manually throw NSEE for missing certs
This is now done further down in the store itself
2022-11-23 20:42:17 +01:00
c19b8297a3 Add TODO for when bumping cert-d-java 2022-11-23 20:42:17 +01:00
4594b494a9 Implement signature verification with certificate stores as cert source 2022-11-23 20:42:17 +01:00
22abb62443 Add test for encryption to cert from certificate store 2022-11-23 20:42:17 +01:00
d0277fbbec Bump cert-d-java to 0.2.0 2022-11-23 20:42:17 +01:00
6dc5b84d66 Depend on pgp-certificate-store again 2022-11-23 20:42:17 +01:00
d486a17cf1 Implement EncryptionOptions.addRecipient(store, fingerprint) 2022-11-23 20:42:17 +01:00
b287d28a28 Depend on pgp-certificate-store 2022-11-23 20:42:17 +01:00
963b678a9e Enable test for decryption of messages without ESKs 2022-11-23 20:42:17 +01:00
59e81dc514 Use BCs PGPEncryptedDataList.extractSessionKeyEncryptedData() for decryption with session key 2022-11-23 20:42:17 +01:00
f80b3e0cdb Use BCs PGPEncryptedDataList.isIntegrityProtected() 2022-11-23 20:42:17 +01:00
b1f9a1398a Add comment for ArmorUtils method 2022-11-23 20:40:40 +01:00
f86aae4997 Implement efficient read(buf,off,len) for DelayedInputStream 2022-11-23 20:40:40 +01:00
ca49ed087b Small clean-ups in OpenPgpMessageInputStream 2022-11-23 20:40:40 +01:00
58195c19b1 Properly handle failed decryption caused by removed private keys 2022-11-23 20:40:40 +01:00
58aa9f5712 Move classes related to GNU dummy keys to gnupg package 2022-11-23 20:40:40 +01:00
df4fc94ce7 Add test for decryption with removed private key 2022-11-23 20:40:40 +01:00
3af6ab1b85 Rename GnuPGDummyExtension + GnuPGDummyKeyUtil 2022-11-23 20:40:40 +01:00
033beaa8f2 Use S2K usage SHA1 in GnuDummyKeyUtil 2022-11-23 20:40:40 +01:00
a8d2319d63 Add documentation to GnuDummyKeyUtil 2022-11-23 20:40:40 +01:00
2487e3300a Add and test GnuDummyKeyUtil 2022-11-23 20:40:40 +01:00
7467170bcc Move CachingBcPublicKeyDataDecryptorFactoryTest to correct package 2022-11-23 20:40:40 +01:00
07320ed3cf Fix HardwareSecurity.getIdsOfHardwareBackedKeys() 2022-11-23 20:40:40 +01:00
8c0d096fc6 Fix CachingBcPublicKeyDataDecryptorFactory 2022-11-23 20:40:40 +01:00
705e36080c Implement caching PublicKeyDataDecryptorFactory 2022-11-23 20:40:40 +01:00
8fafb6aa56 Add comments 2022-11-23 20:40:40 +01:00
208612ab56 Add (commented-out) read(buf, off, len) implementation for DelayedTeeInputStream 2022-11-23 20:40:40 +01:00
8cb7d19487 Allow injection of different syntax into PDA 2022-11-23 20:40:40 +01:00
161ce57711 Clean up old unused code 2022-11-23 20:40:40 +01:00
ec793c66ff More cleanup and better error reporting 2022-11-23 20:40:40 +01:00
8ca0cfd3ae Rename *Alphabet to *Symbol and add javadoc 2022-11-23 20:40:40 +01:00
b3d61b0494 Separate out syntax logic 2022-11-23 20:40:40 +01:00
798e68e87f Improve syntax error reporting 2022-11-23 20:40:40 +01:00
a2a5c9223e Remove debugging fields 2022-11-23 20:40:40 +01:00
a0ba6828c9 Remove superfluous states 2022-11-23 20:40:40 +01:00
7e8841abf3 Handle unknown packet versions gracefully 2022-11-23 20:40:40 +01:00
192aa98326 Add missing REUSE license headers 2022-11-23 20:40:40 +01:00
a013ab4ebb Wrap MalformedOpenPgpMessageException in BadData 2022-11-23 20:40:40 +01:00
8097c87b7f Fix last two broken tests 2022-11-23 20:40:40 +01:00
e0b2145793 Fix more tests 2022-11-23 20:40:40 +01:00
aa398f9963 Only check message integrity once 2022-11-23 20:40:40 +01:00
e281143d48 Delete old DecryptionStreamFactory 2022-11-23 20:40:40 +01:00
3f8653cf2e Fix CRCing test and fully depend on new stream for decryption 2022-11-23 20:40:40 +01:00
54cb9dad71 Further increase coverage of PDA class 2022-11-23 20:40:40 +01:00
3977d1f407 Add more direct PDA tests 2022-11-23 20:40:40 +01:00
977f8c4101 Rename automaton package to syntax_check 2022-11-23 20:40:40 +01:00
a27c0ff36e Add detailled logging to OpenPgpMessageInputStream 2022-11-23 20:40:40 +01:00
b7acb2a59c Enable logging in tests 2022-11-23 20:40:40 +01:00
a9993fd866 Throw UnacceptableAlgEx for unencrypted encData 2022-11-23 20:40:40 +01:00
3d5916c545 Implement custom decryptor factories in pda 2022-11-23 20:40:40 +01:00
a39c6bc881 Identify custom decryptor factories by subkey id 2022-11-23 20:40:40 +01:00
cfd3f77491 Make map final 2022-11-23 20:40:40 +01:00
228918f96b Change HardwareSecurity DecryptionCallback to emit key-id 2022-11-23 20:40:40 +01:00
529c64cf43 Implement exploratory support for custom decryption factories
This may enable decryption of messages with hardware-backed keys
2022-11-23 20:40:40 +01:00
d39d062a0d WIP: Explore Hardware Decryption 2022-11-23 20:40:40 +01:00
7da34c8329 Work on postponed keys 2022-11-23 20:40:40 +01:00
d3f07a2250 Reuse *SignatureCheck class 2022-11-23 20:40:40 +01:00
dfbb01d61c Enfore max recursion depth and fix CRC test 2022-11-23 20:40:40 +01:00
7097d44916 Fix NPEs and expose decryption keys 2022-11-23 20:40:40 +01:00
6fd705b1dc Fix checkstyle issues 2022-11-23 20:40:40 +01:00
fbcde13df3 Reinstate integrity-protection and fix tests
Integrity Protection is now checked when reading from the stream,
not only when closing.
2022-11-23 20:40:40 +01:00
654493dfcc Properly expose signatures 2022-11-23 20:40:40 +01:00
a9f77ea100 Cleaning up and collect signature verifications 2022-11-23 20:40:40 +01:00
43c369f1f9 It was the buffering. 2022-11-23 20:40:40 +01:00
bdc968dd43 Create TeeBCPGInputStream to move teeing logic out of OpenPgpMessageInputStream 2022-11-23 20:40:40 +01:00
e420678076 2/3 the way to working sig verification 2022-11-23 20:40:40 +01:00
5e37d8038a WIP: So close to working notarizations 2022-11-23 20:40:39 +01:00
5288fb81c3 Reformat KeyRingReader 2022-11-23 20:40:03 +01:00
18b1fadeb6 Suppress DefaultCharset warning 2022-11-23 20:40:03 +01:00
2ce4486e89 Convert links in javadoc to html 2022-11-23 20:40:03 +01:00
babd1542e3 DO NOT MERGE: Disable broken test 2022-11-23 20:40:03 +01:00
09f94944b3 Remove unnecessary throws declarations 2022-11-23 20:40:03 +01:00
81bb8cba54 Use BCs Arrays.constantTimeAreEqual(char[], char[]) 2022-11-23 20:40:03 +01:00
527aab922e Fix ModificationDetectionException by not calling PGPUtil.getDecoderStream() 2022-11-23 20:40:03 +01:00
ec28ba2924 SIGNATURE VERIFICATION IN OPENPGP SUCKS BIG TIME 2022-11-23 20:40:03 +01:00
4e44691ef6 Wip 2022-11-23 20:40:03 +01:00
45555bf82d Wip: Work on OPS verification 2022-11-23 20:40:03 +01:00