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

915 commits

Author SHA1 Message Date
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
Paul Schaub dac059c702
Add test for PGPainless.asciiArmor(key, stream) 2022-09-27 16:17:22 +02:00
Paul Schaub 5bccc1960e Add PGPainless.asciiArmor(key, outputStream) 2022-09-27 16:12:26 +02:00
Paul Schaub 639d2a19f8
Remove unused provideSessionKeyDataDecryptorFactory() methods 2022-09-13 20:27:16 +02:00
Paul Schaub 609bb4556a
Use ImplementationFactory.getSessionKeyDataDecryptorFactory() method 2022-09-13 20:26:13 +02:00
Paul Schaub 0e45de9b4a Formatting 2022-09-13 20:23:06 +02:00
Paul Schaub 9e403c1124 Add ImplementationFactory.getSessionKeyDataDecryptorFactory() and impls 2022-09-13 20:22:53 +02:00
Paul Schaub 8dfabf1842 Test decryption of messages using Session Key 2022-09-12 15:26:06 +02:00
Paul Schaub 7480c47fa7
Add behavior test to ensure that ArmoredInputStream cuts away any data outside of the armor 2022-09-08 18:15:52 +02:00
Paul Schaub 31c4570d10
Move finalization of signatures into own method 2022-09-07 13:48:59 +02:00
Paul Schaub 0dd54f27b7
Add test for processing message byte by byte 2022-09-05 15:43:32 +02:00
Paul Schaub 0bafc410a0
Add missing parseAndCombineSignatures call
For some reason this was missing from the single-byte read() method
of the SignatureInputStream, causing issues if draining the stream
byte by byte
2022-09-05 15:41:58 +02:00
Paul Schaub 9106d98449
Add tests for Certificate merging 2022-09-05 15:25:29 +02:00
Paul Schaub cd0b9603e7
Add KeyRingUtils.injectCertification(keys, certification) 2022-09-05 15:15:58 +02:00
Paul Schaub 5be42b22bd
Add test for KeyRingUtils.keysPlusPublicKey 2022-09-05 14:45:22 +02:00
Paul Schaub 4ec38bb63b
Add tests for ArmoredInputStreamFactory 2022-09-05 14:37:23 +02:00
Paul Schaub 70ce4d45f4
Remove unused CRCinArmoredInputStreamWrapper.possiblyWrap() 2022-09-05 14:20:11 +02:00
Paul Schaub 3a33bb126a
Add RNGPerformanceTest to help diagnose performance bottlenecks
Related to https://github.com/pgpainless/pgpainless/issues/309
2022-09-03 14:24:37 +02:00
Paul Schaub 3cd5a95d89
Rename inspectionDate to referenceTime 2022-09-03 13:48:02 +02:00
Paul Schaub 7189516dd4
Add documentation for modifyKeyRing(keys, date) 2022-09-03 13:46:32 +02:00
Paul Schaub c3dc3c9d87 Allow modification of keys with custom reference date
Also, bind subkeys using SubkeyBindingSignatureBuilder
2022-09-03 13:42:58 +02:00
Paul Schaub 15046cdc32
Switch default S2K for secret key protection over to use SHA256 and add documentation 2022-08-31 21:37:31 +02:00