|
e976cc6dd2
|
Move getResult() method around
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
754fcf72a1
|
Implement ProducerOptions.setHideArmorHeaders()
Fixes #328
|
2022-10-31 11:43:24 +01:00 |
|
|
f94917d01f
|
Fix checkstyle issue
|
2022-09-28 13:18:34 +02:00 |
|
|
d74a8d0408
|
Add PGPainless.asciiArmor(PGPSignature)
|
2022-09-27 16:28:31 +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 |
|
|
31c4570d10
|
Move finalization of signatures into own method
|
2022-09-07 13:48:59 +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 |
|
|
cd0b9603e7
|
Add KeyRingUtils.injectCertification(keys, certification)
|
2022-09-05 15:15:58 +02:00 |
|
|
70ce4d45f4
|
Remove unused CRCinArmoredInputStreamWrapper.possiblyWrap()
|
2022-09-05 14:20:11 +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 |
|
|
054828ef8c
|
Remove deprecated EncryptionResult.getSymmetricKeyAlgorithm()
Use getEncryptionAlgorithm() instead
|
2022-08-29 10:37:55 +02:00 |
|
|
bc5dc50b78
|
Add KeyRingInfo.isSigningCapable()
Fixes #307
|
2022-08-09 15:08:59 +02:00 |
|
|
e6b89e2c3b
|
Add KeyRingReader.keyRing(*) mnethods to read either a public or secret key ring
|
2022-08-08 13:15:03 +02:00 |
|
|
ca09ac62ca
|
KeyRingInfo.isUsableFor*(): Check if primary key is revoked
|
2022-08-03 13:37:18 +02:00 |
|
|
c1de66e1d7
|
Fix javadoc lying about only encrypting to single subkeys
Fixes #305
|
2022-08-02 16:53:01 +02:00 |
|
|
e67d5b405c
|
Add javadoc to ProducerOptions.noEncryptionNoSigning()
|
2022-07-18 14:50:53 +02:00 |
|
|
9b6d08f3c5
|
Add MODIFICATION_DETECTION_2 feature constant
|
2022-07-18 12:03:16 +02:00 |
|
|
cd5982cd47
|
Add AEADAlgorithm class and test
|
2022-07-18 11:30:37 +02:00 |
|
|
59adbe1d0a
|
Add SHA3 hash algorithms to HashAlgorithm class
|
2022-07-18 11:30:25 +02:00 |
|
|
fe913172d5
|
Add missing javadoc
|
2022-07-16 12:58:22 +02:00 |
|
|
6fc1d25db8
|
Merge branch 'fix298'
|
2022-07-16 12:37:20 +02:00 |
|
|
ba191a1d0f
|
Prevent adding NULL to symmetric algorithm preference when generating key
Fixes #301
|
2022-07-15 14:19:45 +02:00 |
|
|
dec3c8be60
|
Add SecretKeyRingEditor.replaceUserId(old,new,protector)
|
2022-07-15 14:00:41 +02:00 |
|
|
32e1f1234b
|
Add KeyRingUtils.publicKeyRingCollectionFrom(PGPSecretKeyRingCollection)
|
2022-07-15 13:21:59 +02:00 |
|
|
50d31eb463
|
KeyRingTemplates: Add methods taking Passphrase as argument
|
2022-07-11 14:15:54 +02:00 |
|
|
52c8439da5
|
Prevent third-party assigned user-ids from being accidentally returned as primary user-id
Fixes #293
|
2022-07-10 23:02:00 +02:00 |
|
|
170aaaa0c5
|
Document KO protection utility class
|
2022-07-04 11:05:16 +02:00 |
|
|
a99ce15969
|
Forward userIdOnCertificate() method call
|
2022-06-30 13:11:27 +02:00 |
|
|
b8f4cc3935
|
Merge branch 'certification'
|
2022-06-29 16:01:03 +02:00 |
|
|
b2a5351cc3
|
Delete unused KeyRingValidator class
|
2022-06-29 16:00:21 +02:00 |
|
|
7e0b1b344c
|
s/{validation|evaluation}Date/referenceTime/g
|
2022-06-24 12:47:35 +02:00 |
|
|
0c0f82ce2e
|
Add KeyRingInfo constructor that takes Policy instance
|
2022-06-24 12:29:03 +02:00 |
|
|
3f40fb99ef
|
Add RevocationState enum
|
2022-06-24 12:28:56 +02:00 |
|
|
0c28c7a389
|
symmetrically encrypted messages are still encrypted
|
2022-06-23 11:46:19 +02:00 |
|
|
e5ba4f9933
|
Add buffer to improve encryption performance
|
2022-06-21 19:48:49 +02:00 |
|
|
8d1794544a
|
Fix indentation
|
2022-06-21 19:48:38 +02:00 |
|
|
82ff62b4e6
|
Remove unused NotYetImplementedException
|
2022-06-20 17:58:27 +02:00 |
|
|
a944d2a6b9
|
Fix build errors
|
2022-06-20 15:09:02 +02:00 |
|
|
7223b40b23
|
Add javadoc and indentation
|
2022-06-20 12:44:40 +02:00 |
|
|
8d2afdf3b6
|
Make certify() methods public
|
2022-06-20 12:44:40 +02:00 |
|
|
bbd94c6c9a
|
More documentation
|
2022-06-20 12:44:40 +02:00 |
|
|
870af0e005
|
Add javadoc documentation to Trustworthiness class
|
2022-06-20 12:44:40 +02:00 |
|
|
d2b48e83d9
|
Implement certifying of certifications
|
2022-06-20 12:44:40 +02:00 |
|
|
fa5ddfd112
|
WIP: Implement delegations
THERE ARE THINGS BROKEN NOW. DO NOT MERGE!
|
2022-06-20 12:44:40 +02:00 |
|
|
c1170773bc
|
Implement certification of third party keys
|
2022-06-20 12:44:40 +02:00 |
|
|
75455f1a3c
|
Add OpenPgpMetadata.isCleartextSigned and use it in sop to determine if message was cleartext signed
|
2022-06-19 17:31:48 +02:00 |
|