1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-06-30 23:36:44 +02:00
Commit graph

1036 commits

Author SHA1 Message Date
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 22abb62443 Add test for encryption to cert from certificate store 2022-11-23 20:42:17 +01:00
Paul Schaub d0277fbbec Bump cert-d-java to 0.2.0 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 b287d28a28 Depend on pgp-certificate-store 2022-11-23 20:42:17 +01:00
Paul Schaub 963b678a9e Enable test for decryption of messages without ESKs 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 7467170bcc Move CachingBcPublicKeyDataDecryptorFactoryTest to correct package 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 54cb9dad71 Further increase coverage of PDA class 2022-11-23 20:40:40 +01:00
Paul Schaub 3977d1f407 Add more direct PDA tests 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 b7acb2a59c Enable logging in tests 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
Paul Schaub d39d062a0d WIP: Explore Hardware Decryption 2022-11-23 20:40:40 +01:00
Paul Schaub 7da34c8329 Work on postponed keys 2022-11-23 20:40:40 +01:00
Paul Schaub d3f07a2250 Reuse *SignatureCheck class 2022-11-23 20:40:40 +01:00
Paul Schaub dfbb01d61c Enfore max recursion depth and fix CRC test 2022-11-23 20:40:40 +01:00
Paul Schaub 7097d44916 Fix NPEs and expose decryption keys 2022-11-23 20:40:40 +01:00
Paul Schaub 6fd705b1dc Fix checkstyle issues 2022-11-23 20:40:40 +01:00
Paul Schaub 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
Paul Schaub 654493dfcc Properly expose signatures 2022-11-23 20:40:40 +01:00
Paul Schaub a9f77ea100 Cleaning up and collect signature verifications 2022-11-23 20:40:40 +01:00
Paul Schaub 43c369f1f9 It was the buffering. 2022-11-23 20:40:40 +01:00
Paul Schaub bdc968dd43 Create TeeBCPGInputStream to move teeing logic out of OpenPgpMessageInputStream 2022-11-23 20:40:40 +01:00
Paul Schaub e420678076 2/3 the way to working sig verification 2022-11-23 20:40:40 +01:00
Paul Schaub 5e37d8038a WIP: So close to working notarizations 2022-11-23 20:40:39 +01:00
Paul Schaub 5288fb81c3 Reformat KeyRingReader 2022-11-23 20:40:03 +01:00
Paul Schaub 18b1fadeb6 Suppress DefaultCharset warning 2022-11-23 20:40:03 +01:00
Paul Schaub 2ce4486e89 Convert links in javadoc to html 2022-11-23 20:40:03 +01:00
Paul Schaub babd1542e3 DO NOT MERGE: Disable broken test 2022-11-23 20:40:03 +01:00
Paul Schaub 09f94944b3 Remove unnecessary throws declarations 2022-11-23 20:40:03 +01:00
Paul Schaub 81bb8cba54 Use BCs Arrays.constantTimeAreEqual(char[], char[]) 2022-11-23 20:40:03 +01:00
Paul Schaub 527aab922e Fix ModificationDetectionException by not calling PGPUtil.getDecoderStream() 2022-11-23 20:40:03 +01:00
Paul Schaub ec28ba2924 SIGNATURE VERIFICATION IN OPENPGP SUCKS BIG TIME 2022-11-23 20:40:03 +01:00
Paul Schaub 4e44691ef6 Wip 2022-11-23 20:40:03 +01:00
Paul Schaub 45555bf82d Wip: Work on OPS verification 2022-11-23 20:40:03 +01:00
Paul Schaub e25f6e1712 Fix checkstyle issues 2022-11-23 20:40:03 +01:00
Paul Schaub 5c93eb3705 Wip: Introduce MessageMetadata class 2022-11-23 20:40:03 +01:00
Paul Schaub efdf2bca0d WIP: Play around with TeeInputStreams 2022-11-23 20:40:03 +01:00
Paul Schaub 7537c9520c WIP: Add LayerMetadata class 2022-11-23 20:40:03 +01:00
Paul Schaub 54d7d0c7ae Implement experimental signature verification (correctness only) 2022-11-23 20:40:03 +01:00
Paul Schaub 9366700895 Add read(b,off,len) 2022-11-23 20:40:03 +01:00
Paul Schaub 7b9db97212 Clean close() method 2022-11-23 20:40:03 +01:00
Paul Schaub 0753f4d38a Work on getting signature verification to function again 2022-11-23 20:40:03 +01:00
Paul Schaub d81c0d4400 Fix tests 2022-11-23 20:40:02 +01:00
Paul Schaub e86062c427 WIP: Replace nesting with independent instancing 2022-11-23 20:40:02 +01:00
Paul Schaub bf8949d7f4 WIP: Implement custom PGPDecryptionStream 2022-11-23 20:40:02 +01:00
Paul Schaub bc73d26118 Add Pushdown Automaton for checking OpenPGP message syntax
The automaton implements what is described in
https://github.com/pgpainless/pgpainless/blob/main/misc/OpenPGPMessageFormat.md

However, some differences exist to adopt it to BouncyCastle

Part of #237
2022-11-23 20:40:02 +01:00
Paul Schaub ae88fdf4ab
Document ArmoredOutputStreamFactory.setVersionInfo(null) 2022-11-11 13:49:28 +01:00
Paul Schaub 86b06ee5e3 SOP: Hide armor version header by default 2022-11-11 13:46:43 +01:00
Paul Schaub c253732ad9 Do not reject bnacksig signatures when they predate subkey binding date
Fixes #334
2022-11-09 15:44:20 +01:00
Paul Schaub 50d18a4581 Fix NPE when validating signature made by key without keyflags on direct key sigature
(Presumably) fixes #332
2022-11-07 15:34:18 +01:00
Paul Schaub b02ae86ff6 Annotate SignatureSubpacketsUtil methods with @Nullable and @Nonnull 2022-11-07 15:34:18 +01:00
Paul Schaub f5e4c7571c
Bump BC to 1.72, BCPG to 1.72.1 2022-11-02 10:53:53 +01:00
Paul Schaub 754fcf72a1
Implement ProducerOptions.setHideArmorHeaders()
Fixes #328
2022-10-31 11:43:24 +01:00
Paul Schaub 8834d8ad10
Increase timeframe for some tests which check expiration dates 2022-10-18 15:13:49 +02:00
Paul Schaub f94917d01f
Fix checkstyle issue 2022-09-28 13:18:34 +02:00
Paul Schaub 6a2a604ba4
Update TODO for BC 173 2022-09-27 16:47:23 +02:00
Paul Schaub d74a8d0408
Add PGPainless.asciiArmor(PGPSignature) 2022-09-27 16:28:31 +02:00