|
59217d2501
|
Implement UserId.parse(mailbox)
|
2022-12-20 17:20:32 +01:00 |
|
|
6a5c6c5509
|
Improve ElGamal validation by refraining from biginteger for loop variable
|
2022-12-15 18:05:55 +01:00 |
|
|
bfbaa30e4c
|
Make KO-countermeasures configurable (off by default)
|
2022-12-15 18:05:46 +01:00 |
|
|
2d46fb18f7
|
SOP: Allow generation of keys without user-ids
|
2022-12-15 18:04:59 +01:00 |
|
|
4f435a0fa0
|
Fix parameter check for DSA keys
Fixes #345
|
2022-12-15 18:04:34 +01:00 |
|
|
f5414bcc19
|
Use proper method to unlock private key when detached-signing
|
2022-12-15 18:04:19 +01:00 |
|
|
bfcfaa04c4
|
Add UserId.compare(uid1, uid2, comparator) along with some default comparators
|
2022-12-15 18:03:37 +01:00 |
|
|
837fbd3635
|
Simplify UserIdTests
|
2022-12-15 18:03:04 +01:00 |
|
|
4c1d359971
|
Deprecate UserId.asString()
|
2022-12-15 18:02:53 +01:00 |
|
|
b0c283e143
|
Clean up UserId.toString() behavior
|
2022-12-15 18:02:44 +01:00 |
|
|
ae6a427d90
|
Add test for UniversalSignatureBuilder
|
2022-11-25 15:34:54 +01:00 |
|
|
e1ab128c2e
|
Add annotations to GnuPGDummyKeyUtil
|
2022-11-25 14:40:57 +01:00 |
|
|
7cc2751527
|
Add @Nonnull annotations to OpenPgpMessageSyntax
|
2022-11-25 14:38:45 +01:00 |
|
|
3f70936ff1
|
Add documetation to PDA class
|
2022-11-25 14:26:55 +01:00 |
|
|
e88a88a447
|
Add javadoc for OpenPgpMessageInputStream factory method return value
|
2022-11-24 22:24:12 +01:00 |
|
|
39d656d2dd
|
Add javadoc for HardwareDataDecryptorFactory constructor argument
|
2022-11-24 22:22:21 +01:00 |
|
|
a495f2275c
|
Precise error message for IntegrityProtectedInputStream
|
2022-11-24 21:34:25 +01:00 |
|
|
be7349f0b5
|
Clean up CachingBcPublicKeyDataDecryptorFactory
|
2022-11-23 20:42:54 +01:00 |
|
|
b495e602e5
|
More precise error message for malformed message
|
2022-11-23 20:42:54 +01:00 |
|
|
25190fc5df
|
SOP: Use new MessageMetadata class
|
2022-11-23 20:42:54 +01:00 |
|
|
b36b5413e2
|
Fix isEncryptedFor()
|
2022-11-23 20:42:54 +01:00 |
|
|
f005885318
|
Add MessageMetadata.isVerifiedSigned() and .getVerifiedSignatures()
|
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 |
|
|
39f8f89fe0
|
Add convenience methods to MessageMetadata
|
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 |
|
|
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 |
|
|
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 |
|