1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-07-02 08:16:43 +02:00
Commit graph

885 commits

Author SHA1 Message Date
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
Paul Schaub 837fbd3635 Simplify UserIdTests 2022-12-15 18:03:04 +01:00
Paul Schaub 4c1d359971 Deprecate UserId.asString() 2022-12-15 18:02:53 +01:00
Paul Schaub b0c283e143 Clean up UserId.toString() behavior 2022-12-15 18:02:44 +01:00
Paul Schaub ae6a427d90
Add test for UniversalSignatureBuilder 2022-11-25 15:34:54 +01:00
Paul Schaub e1ab128c2e
Add annotations to GnuPGDummyKeyUtil 2022-11-25 14:40:57 +01:00
Paul Schaub 7cc2751527
Add @Nonnull annotations to OpenPgpMessageSyntax 2022-11-25 14:38:45 +01:00
Paul Schaub 3f70936ff1
Add documetation to PDA class 2022-11-25 14:26:55 +01:00
Paul Schaub e88a88a447
Add javadoc for OpenPgpMessageInputStream factory method return value 2022-11-24 22:24:12 +01:00
Paul Schaub 39d656d2dd
Add javadoc for HardwareDataDecryptorFactory constructor argument 2022-11-24 22:22:21 +01:00
Paul Schaub a495f2275c
Precise error message for IntegrityProtectedInputStream 2022-11-24 21:34:25 +01:00
Paul Schaub be7349f0b5 Clean up CachingBcPublicKeyDataDecryptorFactory 2022-11-23 20:42:54 +01:00
Paul Schaub b495e602e5 More precise error message for malformed message 2022-11-23 20:42:54 +01:00
Paul Schaub 25190fc5df SOP: Use new MessageMetadata class 2022-11-23 20:42:54 +01:00
Paul Schaub b36b5413e2 Fix isEncryptedFor() 2022-11-23 20:42:54 +01:00
Paul Schaub f005885318 Add MessageMetadata.isVerifiedSigned() and .getVerifiedSignatures() 2022-11-23 20:42:54 +01:00
Paul Schaub 6926cedf61 Fix compilation errors and simplify LayerIterator by introducing Packet interface 2022-11-23 20:42:54 +01:00
Paul Schaub 39f8f89fe0 Add convenience methods to MessageMetadata 2022-11-23 20:42:54 +01:00
Paul Schaub e4560ac5b5 Cleartext Signaure Framework: Support for multiple Hash: headers 2022-11-23 20:42:17 +01:00
Paul Schaub 6ba7e91f2a Add documentation and removal-TODO to old OpenPgpMetadata class 2022-11-23 20:42:17 +01:00
Paul Schaub fd2f6523ec More specific exception message for when nesting depth is exceeded 2022-11-23 20:42:17 +01:00
Paul Schaub 1437604836 Add documentation to DecryptionStream 2022-11-23 20:42:17 +01:00
Paul Schaub 70cca563d7 Add javadoc to getMetadata() and getResult() 2022-11-23 20:42:17 +01:00
Paul Schaub 33d9a784bb Add javadoc to MEssageMetadata class 2022-11-23 20:42:17 +01:00
Paul Schaub 3023d532e3 Make DecryptionStream.getMetadata() first-class, deprecate getResult() 2022-11-23 20:42:17 +01:00
Paul Schaub e976cc6dd2 Move getResult() method around 2022-11-23 20:42:17 +01:00
Paul Schaub d7e4fcaec6 OpenPgpMessageInputStream: Source verification certs from ConsumerOptions.getCertificateSource() 2022-11-23 20:42:17 +01:00
Paul Schaub 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
Paul Schaub c19b8297a3 Add TODO for when bumping cert-d-java 2022-11-23 20:42:17 +01:00
Paul Schaub 4594b494a9 Implement signature verification with certificate stores as cert source 2022-11-23 20:42:17 +01:00
Paul Schaub 6dc5b84d66 Depend on pgp-certificate-store again 2022-11-23 20:42:17 +01:00
Paul Schaub d486a17cf1 Implement EncryptionOptions.addRecipient(store, fingerprint) 2022-11-23 20:42:17 +01:00
Paul Schaub 59e81dc514 Use BCs PGPEncryptedDataList.extractSessionKeyEncryptedData() for decryption with session key 2022-11-23 20:42:17 +01:00
Paul Schaub f80b3e0cdb Use BCs PGPEncryptedDataList.isIntegrityProtected() 2022-11-23 20:42:17 +01:00
Paul Schaub b1f9a1398a Add comment for ArmorUtils method 2022-11-23 20:40:40 +01:00
Paul Schaub f86aae4997 Implement efficient read(buf,off,len) for DelayedInputStream 2022-11-23 20:40:40 +01:00
Paul Schaub ca49ed087b Small clean-ups in OpenPgpMessageInputStream 2022-11-23 20:40:40 +01:00
Paul Schaub 58195c19b1 Properly handle failed decryption caused by removed private keys 2022-11-23 20:40:40 +01:00
Paul Schaub 58aa9f5712 Move classes related to GNU dummy keys to gnupg package 2022-11-23 20:40:40 +01:00
Paul Schaub df4fc94ce7 Add test for decryption with removed private key 2022-11-23 20:40:40 +01:00
Paul Schaub 3af6ab1b85 Rename GnuPGDummyExtension + GnuPGDummyKeyUtil 2022-11-23 20:40:40 +01:00
Paul Schaub 033beaa8f2 Use S2K usage SHA1 in GnuDummyKeyUtil 2022-11-23 20:40:40 +01:00
Paul Schaub a8d2319d63 Add documentation to GnuDummyKeyUtil 2022-11-23 20:40:40 +01:00
Paul Schaub 2487e3300a Add and test GnuDummyKeyUtil 2022-11-23 20:40:40 +01:00
Paul Schaub 07320ed3cf Fix HardwareSecurity.getIdsOfHardwareBackedKeys() 2022-11-23 20:40:40 +01:00
Paul Schaub 8c0d096fc6 Fix CachingBcPublicKeyDataDecryptorFactory 2022-11-23 20:40:40 +01:00
Paul Schaub 705e36080c Implement caching PublicKeyDataDecryptorFactory 2022-11-23 20:40:40 +01:00
Paul Schaub 8fafb6aa56 Add comments 2022-11-23 20:40:40 +01:00
Paul Schaub 208612ab56 Add (commented-out) read(buf, off, len) implementation for DelayedTeeInputStream 2022-11-23 20:40:40 +01:00
Paul Schaub 8cb7d19487 Allow injection of different syntax into PDA 2022-11-23 20:40:40 +01:00
Paul Schaub 161ce57711 Clean up old unused code 2022-11-23 20:40:40 +01:00
Paul Schaub ec793c66ff More cleanup and better error reporting 2022-11-23 20:40:40 +01:00
Paul Schaub 8ca0cfd3ae Rename *Alphabet to *Symbol and add javadoc 2022-11-23 20:40:40 +01:00
Paul Schaub b3d61b0494 Separate out syntax logic 2022-11-23 20:40:40 +01:00
Paul Schaub 798e68e87f Improve syntax error reporting 2022-11-23 20:40:40 +01:00
Paul Schaub a2a5c9223e Remove debugging fields 2022-11-23 20:40:40 +01:00
Paul Schaub a0ba6828c9 Remove superfluous states 2022-11-23 20:40:40 +01:00
Paul Schaub 7e8841abf3 Handle unknown packet versions gracefully 2022-11-23 20:40:40 +01:00
Paul Schaub 192aa98326 Add missing REUSE license headers 2022-11-23 20:40:40 +01:00
Paul Schaub a013ab4ebb Wrap MalformedOpenPgpMessageException in BadData 2022-11-23 20:40:40 +01:00
Paul Schaub 8097c87b7f Fix last two broken tests 2022-11-23 20:40:40 +01:00
Paul Schaub e0b2145793 Fix more tests 2022-11-23 20:40:40 +01:00
Paul Schaub aa398f9963 Only check message integrity once 2022-11-23 20:40:40 +01:00
Paul Schaub e281143d48 Delete old DecryptionStreamFactory 2022-11-23 20:40:40 +01:00
Paul Schaub 3f8653cf2e Fix CRCing test and fully depend on new stream for decryption 2022-11-23 20:40:40 +01:00
Paul Schaub 977f8c4101 Rename automaton package to syntax_check 2022-11-23 20:40:40 +01:00
Paul Schaub a27c0ff36e Add detailled logging to OpenPgpMessageInputStream 2022-11-23 20:40:40 +01:00
Paul Schaub a9993fd866 Throw UnacceptableAlgEx for unencrypted encData 2022-11-23 20:40:40 +01:00
Paul Schaub 3d5916c545 Implement custom decryptor factories in pda 2022-11-23 20:40:40 +01:00
Paul Schaub a39c6bc881 Identify custom decryptor factories by subkey id 2022-11-23 20:40:40 +01:00
Paul Schaub cfd3f77491 Make map final 2022-11-23 20:40:40 +01:00
Paul Schaub 228918f96b Change HardwareSecurity DecryptionCallback to emit key-id 2022-11-23 20:40:40 +01:00
Paul Schaub 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