|
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 |
|
|
e25f6e1712
|
Fix checkstyle issues
|
2022-11-23 20:40:03 +01:00 |
|
|
5c93eb3705
|
Wip: Introduce MessageMetadata class
|
2022-11-23 20:40:03 +01:00 |
|
|
efdf2bca0d
|
WIP: Play around with TeeInputStreams
|
2022-11-23 20:40:03 +01:00 |
|
|
7537c9520c
|
WIP: Add LayerMetadata class
|
2022-11-23 20:40:03 +01:00 |
|
|
54d7d0c7ae
|
Implement experimental signature verification (correctness only)
|
2022-11-23 20:40:03 +01:00 |
|
|
9366700895
|
Add read(b,off,len)
|
2022-11-23 20:40:03 +01:00 |
|
|
7b9db97212
|
Clean close() method
|
2022-11-23 20:40:03 +01:00 |
|
|
0753f4d38a
|
Work on getting signature verification to function again
|
2022-11-23 20:40:03 +01:00 |
|
|
d81c0d4400
|
Fix tests
|
2022-11-23 20:40:02 +01:00 |
|
|
e86062c427
|
WIP: Replace nesting with independent instancing
|
2022-11-23 20:40:02 +01:00 |
|
|
bf8949d7f4
|
WIP: Implement custom PGPDecryptionStream
|
2022-11-23 20:40:02 +01:00 |
|
|
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 |
|
|
ae88fdf4ab
|
Document ArmoredOutputStreamFactory.setVersionInfo(null)
|
2022-11-11 13:49:28 +01:00 |
|
|
86b06ee5e3
|
SOP: Hide armor version header by default
|
2022-11-11 13:46:43 +01:00 |
|
|
c253732ad9
|
Do not reject bnacksig signatures when they predate subkey binding date
Fixes #334
|
2022-11-09 15:44:20 +01:00 |
|
|
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 |
|
|
b02ae86ff6
|
Annotate SignatureSubpacketsUtil methods with @Nullable and @Nonnull
|
2022-11-07 15:34:18 +01:00 |
|
|
f5e4c7571c
|
Bump BC to 1.72, BCPG to 1.72.1
|
2022-11-02 10:53:53 +01:00 |
|
|
754fcf72a1
|
Implement ProducerOptions.setHideArmorHeaders()
Fixes #328
|
2022-10-31 11:43:24 +01:00 |
|
|
8834d8ad10
|
Increase timeframe for some tests which check expiration dates
|
2022-10-18 15:13:49 +02:00 |
|
|
f94917d01f
|
Fix checkstyle issue
|
2022-09-28 13:18:34 +02:00 |
|
|
6a2a604ba4
|
Update TODO for BC 173
|
2022-09-27 16:47:23 +02:00 |
|
|
d74a8d0408
|
Add PGPainless.asciiArmor(PGPSignature)
|
2022-09-27 16:28:31 +02:00 |
|
|
dac059c702
|
Add test for PGPainless.asciiArmor(key, stream)
|
2022-09-27 16:17:22 +02:00 |
|
|
5bccc1960e
|
Add PGPainless.asciiArmor(key, outputStream)
|
2022-09-27 16:12:26 +02:00 |
|
|
639d2a19f8
|
Remove unused provideSessionKeyDataDecryptorFactory() methods
|
2022-09-13 20:27:16 +02:00 |
|
|
609bb4556a
|
Use ImplementationFactory.getSessionKeyDataDecryptorFactory() method
|
2022-09-13 20:26:13 +02:00 |
|
|
0e45de9b4a
|
Formatting
|
2022-09-13 20:23:06 +02:00 |
|
|
9e403c1124
|
Add ImplementationFactory.getSessionKeyDataDecryptorFactory() and impls
|
2022-09-13 20:22:53 +02:00 |
|
|
8dfabf1842
|
Test decryption of messages using Session Key
|
2022-09-12 15:26:06 +02:00 |
|
|
7480c47fa7
|
Add behavior test to ensure that ArmoredInputStream cuts away any data outside of the armor
|
2022-09-08 18:15:52 +02:00 |
|
|
31c4570d10
|
Move finalization of signatures into own method
|
2022-09-07 13:48:59 +02:00 |
|
|
0dd54f27b7
|
Add test for processing message byte by byte
|
2022-09-05 15:43:32 +02:00 |
|
|
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 |
|
|
9106d98449
|
Add tests for Certificate merging
|
2022-09-05 15:25:29 +02:00 |
|
|
cd0b9603e7
|
Add KeyRingUtils.injectCertification(keys, certification)
|
2022-09-05 15:15:58 +02:00 |
|
|
5be42b22bd
|
Add test for KeyRingUtils.keysPlusPublicKey
|
2022-09-05 14:45:22 +02:00 |
|
|
4ec38bb63b
|
Add tests for ArmoredInputStreamFactory
|
2022-09-05 14:37:23 +02:00 |
|
|
70ce4d45f4
|
Remove unused CRCinArmoredInputStreamWrapper.possiblyWrap()
|
2022-09-05 14:20:11 +02:00 |
|
|
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 |
|
|
3cd5a95d89
|
Rename inspectionDate to referenceTime
|
2022-09-03 13:48:02 +02:00 |
|
|
7189516dd4
|
Add documentation for modifyKeyRing(keys, date)
|
2022-09-03 13:46:32 +02:00 |
|
|
c3dc3c9d87
|
Allow modification of keys with custom reference date
Also, bind subkeys using SubkeyBindingSignatureBuilder
|
2022-09-03 13:42:58 +02:00 |
|
|
15046cdc32
|
Switch default S2K for secret key protection over to use SHA256 and add documentation
|
2022-08-31 21:37:31 +02:00 |
|
|
c6676d3c91
|
Add support for generating keys without user-ids
Fixes #296
|
2022-08-29 14:12:02 +02:00 |
|
|
bc24c4626a
|
Add ConsumerOptions.get() factory method
|
2022-08-29 13:00:50 +02:00 |
|
|
5746985bb7
|
Add EncryptionOptions.get() factory method
|
2022-08-29 12:46:36 +02:00 |
|
|
d1001412a1
|
Add SigningOptions.addDetachedSignature(protector, key) shortcut method
|
2022-08-29 12:36:16 +02:00 |
|
|
39ff2bca73
|
Fix javadoc of SigningOptions methods
|
2022-08-29 12:35:51 +02:00 |
|
|
1b04d67e1a
|
Remove unused SignatureSubpacketGeneratorUtil class and tests
|
2022-08-29 11:30:26 +02:00 |
|
|
0cc884523c
|
Integrate RevocationState into KeyRingInfo class
|
2022-08-29 11:30:10 +02:00 |
|
|
c73905d179
|
Import RevocationStateTest from wot branch
|
2022-08-29 11:12:42 +02:00 |
|
|
d019c0d5db
|
Add RevocationState implementation from wot branch
|
2022-08-29 11:09:32 +02:00 |
|
|
405e67c0cb
|
Add documentation to AlgorithmNegotiator classes
|
2022-08-29 11:06:17 +02:00 |
|
|
7faa6c580a
|
Remove deprecated ArmorUtils.createArmoredOutputStream()
|
2022-08-29 10:38:44 +02:00 |
|