Paul Schaub
864bfad80c
Add test for encryption / decryption, signing with missing secret subkey
2022-04-07 19:42:58 +02:00
Paul Schaub
a22336a795
Create dedicated KeyException class for key-related exceptions.
2022-04-07 19:42:58 +02:00
Paul Schaub
a7d56e3461
PGPainless 1.1.5
2022-04-05 14:48:44 +02:00
Péter Barabás
30c9ea254a
Fix XML comment
2022-04-05 14:36:58 +02:00
Péter Barabás
8c6813ce56
#266 Handle ClassCastException in signature.init calls
2022-04-05 14:36:58 +02:00
Paul Schaub
f6c6b9aded
Do not attempt to verify signatures made by external keys using primary key.
...
This aims at fixing #266 in combination with #267 .
2022-04-05 14:10:04 +02:00
Paul Schaub
0bce68d6ee
Add shortcut SigningOptions.addSignature() method
2022-04-04 20:18:15 +02:00
Paul Schaub
d0b070f0f3
Fix javadoc
2022-04-04 20:17:57 +02:00
Paul Schaub
e601f8dbda
In Encrypt example: Read keys from string
2022-04-04 19:49:28 +02:00
Paul Schaub
2065b4e4ed
Document planned removal of BCUtil.constantTimeAreEquals(char[], char[])
2022-04-04 13:08:24 +02:00
Paul Schaub
c8a1ca5b29
Make use of DateUtil.now() in test
2022-04-04 12:53:47 +02:00
Paul Schaub
2c86d8dfe4
Document various KeyRingSelectionStrategies
2022-04-04 12:49:00 +02:00
Paul Schaub
7ca9934cbe
Document KeyRingSelectionStrategy
2022-04-04 12:32:37 +02:00
Paul Schaub
bfbe03f9e0
Document SelectUserIds
2022-04-04 12:19:07 +02:00
Paul Schaub
4aaa242d64
Add javadoc to SignatureSubpacketsUtil
2022-04-04 10:40:57 +02:00
Paul Schaub
58dee0d970
Fix javadoc warnings
2022-04-02 18:56:05 +02:00
Paul Schaub
4bd01578fb
Fix javadoc generation
2022-04-02 18:14:17 +02:00
Paul Schaub
6869c66937
Add TODOs to remove deprecated methods in 1.2.X
2022-04-02 17:12:12 +02:00
Paul Schaub
8ec86e6464
Rename KeyRingUtil.removeSecretKey() to stripSecretKey()
2022-04-02 17:03:38 +02:00
Paul Schaub
50bcb6a135
Fix changelog and change method signature
2022-04-02 16:18:12 +02:00
Paul Schaub
39382c7de6
Add annotations to SignatureGenerationStream constructor
2022-04-02 16:18:12 +02:00
Paul Schaub
131c0c6d03
Add javadoc header to SignatureGenerationStream
2022-04-02 16:18:12 +02:00
Paul Schaub
f8e66f4d61
Add ProducerOptions.applyCRLFEncoding()
...
Enabling it will automatically apply CRLF encoding to input data.
Further, disentangle signing from the encryption stream
2022-04-02 16:18:12 +02:00
Paul Schaub
6bef376992
Fix signature generation with all format and signature type combinations
...
This comes at the cost of that we no longer CR/LF encode literal data before encryption/signing.
That means that applications that rely on PGPainless to do the CR/LF encoding must manually
do the encoding before feeding the message to PGPainless.
The newly introduced CRLFGeneratorStream has documentation on how to do that.
Fixes #264
2022-03-30 16:13:08 +02:00
Paul Schaub
b0eb32d550
Fix checkstyle
2022-03-30 12:21:53 +02:00
Paul Schaub
87e6b044d9
Add EncryptionStream class description
2022-03-30 12:18:03 +02:00
Paul Schaub
620deaa1f9
Deprecate ProducerOptions.setEncoding()
...
The reason is that values other than BINARY oftentimes cause issues
(see https://github.com/pgpainless/pgpainless/issues/264 ), and further
experts recommended to ignore the metadata of the LiteralData packet
and only produce with ('b'/0/) as metadata values.
2022-03-27 17:34:24 +02:00
Paul Schaub
1cb3e559b5
Eliminate removed 'm' StreamEncoding
2022-03-27 17:29:42 +02:00
Paul Schaub
82936c5499
Add investigative test for broken messages when using different data/sig encodings
2022-03-27 17:01:31 +02:00
Paul Schaub
80d97b1bc0
Fix malformed signature packets
2022-03-27 17:01:31 +02:00
Paul Schaub
8ff405d6ad
Add toString() to SessionKey
2022-03-24 14:16:13 +01:00
Paul Schaub
405c7225f6
Deprecate ProducerOptions.setForYourEyesOnly()
...
Use of this special file name is deprecated since at least crypto-refresh-05
2022-03-23 15:17:29 +01:00
Paul Schaub
e8b03834cb
Annotate fromId(code) methods with Nullable and add Nonnull requireFromId(code) methods
2022-03-22 15:09:09 +01:00
Paul Schaub
16b0d0730e
Annotate and document ArmorUtils class
2022-03-22 14:17:35 +01:00
Paul Schaub
e89e0f216c
Annotate KeyRingUtils methods with Nullable and Nonnull
2022-03-22 13:20:36 +01:00
Paul Schaub
4bae2e74c4
Add documentation for further KeyRingUtils methods
2022-03-22 13:05:27 +01:00
Paul Schaub
b5ccb23a62
Add documentation for KeyRingUtils.removeSecretKey()
2022-03-22 12:49:30 +01:00
Paul Schaub
3585203557
Prettify user-id info on armor
2022-03-21 16:44:59 +01:00
Simon Frankenberger
e569c2c991
ArmorUtils now prints out the primary user-id and brief information about other user-ids
2022-03-21 16:09:45 +01:00
Paul Schaub
9e0aa95a5a
Add documentation for the DecryptOrVerify examples
2022-03-16 21:29:34 +01:00
Paul Schaub
29dc20d0bc
Add EncryptionResult.isEncryptedFor(certificate)
2022-03-15 17:02:02 +01:00
Paul Schaub
ecfa3823fb
Add utility method to remove secret subkey from key ring
...
This might be useful for offline primary keys
2022-03-15 17:01:50 +01:00
Paul Schaub
d4d29553ec
Add decryption example
2022-03-15 15:10:23 +01:00
Paul Schaub
ffdbd21491
Implement configuration option for SignerUserId subpacket verification level.
...
By default we ignore SignerUserId subpackets on signatures.
This behavior can be changed by calling Policy.setSignerUserIdValidationLevel().
Right now, STRICT and DISABLED are available as options, but it may make sense to implement
another option PARTIALLY, which will accept signatures made by key with user-id 'A <foo@bar>'
but where the sig contains a signer user id of value 'foo@bar' for example.
2022-03-14 11:10:12 +01:00
Paul Schaub
661c043cdc
DFix KeyRingInfo.getValidAndExpiredUserIds considering unbound user-ids as valid
2022-03-13 16:52:57 +01:00
Paul Schaub
26c804b2dd
Add comment about hash algorithm header
2022-03-13 15:12:38 +01:00
Paul Schaub
6b9b956c2c
Add OpenPgpFingerprint.parse(String)
2022-03-10 12:22:02 +01:00
Paul Schaub
8f473b513f
Add support for OpenPGP v5 fingerprints.
...
Obviously we need support for key.getFingerprint() in BC, but once
that is there, this should magically start working.
2022-03-10 12:01:12 +01:00
Paul Schaub
0824bbd37c
Add investigative test for signers user-ids
2022-03-09 21:05:17 +01:00
Paul Schaub
26d79679f0
Fix crash when validating unmatched signer's user-id subpacket
...
TODO: We might want to deprecate Signer's UserID subpackets completely and ignore them.
See results of sequoias test suite once PR below gets merged.
https://gitlab.com/sequoia-pgp/openpgp-interoperability-test-suite/-/merge_requests/28
2022-03-09 21:05:00 +01:00
Paul Schaub
b34866b012
Make SigningOptions.getSigningMethods package visible
2022-03-09 21:03:31 +01:00
Paul Schaub
db02106518
Fix typo
2022-03-07 14:57:00 +01:00
Paul Schaub
3fe78ab12a
Fix NPE when validating broken signature
2022-03-07 14:56:56 +01:00
Paul Schaub
f1f7dec8b6
Fix accidental verification of thirdparty user-id revocations using primary key
2022-03-07 14:56:37 +01:00
Paul Schaub
fc65bb4496
Raise readable error message when trying to encrypt for key without acceptable self-sigs
2022-03-07 14:55:45 +01:00
Paul Schaub
9d160ef047
Reject subkeys with predating binding signatures
2022-03-07 12:17:45 +01:00
Paul Schaub
5d3646cd36
Add missing @throws documentation
2022-03-07 11:27:21 +01:00
Paul Schaub
10e72f6773
Allow custom key creation dates during generation
2022-03-07 11:08:59 +01:00
Paul Schaub
a6dcf027c0
Add and document PGPainless.inspectKeyRing(key, date)
2022-03-07 10:36:20 +01:00
Paul Schaub
a7d1f09b5c
Document SimpleDateFormat not thread-safe
2022-03-07 10:26:24 +01:00
Paul Schaub
126cc9df70
Make toSecondsPrecision() more readable and improv performance
2022-03-07 10:24:08 +01:00
Paul Schaub
5b9e72d42c
Add KeyRingInfo.isUsableForEncryption()
2022-03-06 14:58:36 +01:00
Paul Schaub
1949cc5eea
Fix generics of CertificationSubpackets callback
2022-03-02 11:15:07 +01:00
Paul Schaub
35dd4f9a67
Fix unused import
2022-03-01 17:37:24 +01:00
Paul Schaub
d55d6a1686
Improve RegExs for extracting email addresses from keys
...
Based on https://github.com/pgpainless/pgpainless/pull/257/
Thanks @bratkartoffel for the initial proposed changes
2022-03-01 12:14:09 +01:00
feri
a1deb531a4
trim comment lines.
2022-02-24 17:46:45 +01:00
feri
7a77d0847a
Support multiline comments in ProducerOption.setComment().
2022-02-24 17:46:45 +01:00
Paul Schaub
fc33e56ad8
Some clarifications in javadoc
2022-02-24 01:08:23 +01:00
feri
928fa12b51
Add new ProducerOption setComment() for Ascii armored EncryptionStreams. ( #254 )
...
* Add new ProducerOption setComment() for Ascii armored EncryptionStreams.
2022-02-24 00:51:16 +01:00
Paul Schaub
1753cef10e
Simplify handling of cleartext-signed data
2022-02-23 18:45:29 +01:00
Paul Schaub
db58280db6
Change default criticality of signature subpackets to mirror those of sequoia
2022-02-19 17:07:56 +01:00
Paul Schaub
41ed056165
By default emit IssuerFingerprint signature subpackets as non-critical
2022-02-19 16:05:02 +01:00
Paul Schaub
a3f9311d9a
Add some comments to messy DecryptionStreamFactory code
2022-02-19 14:48:17 +01:00
Paul Schaub
e8da3b30d8
Yet another patch for ASCII armor detection -.-
2022-02-15 14:23:03 +01:00
Paul Schaub
f3cf3456ab
ConsumerOptions.setIsCleartextSigned -> return this
2022-02-15 14:22:57 +01:00
Paul Schaub
b33885c268
Remove accidental marking of buffered stream in PGPUtilWrapper
2022-02-15 14:22:49 +01:00
Paul Schaub
458b4f1f78
Fix detection of unarmored data in detached signature verification
2022-02-11 14:07:29 +01:00
Paul Schaub
9b270197c2
Add MIME StreamEncoding enum val
2022-01-15 02:46:42 +01:00
Paul Schaub
bbc42fd8e4
Document workaround for BCs ECUtil.getCurveName() returning null for ed25519 keys
...
See https://github.com/bcgit/bc-java/issues/1087
2022-01-15 02:46:42 +01:00
Paul Schaub
01839728f0
Remove workaround for publicKey.getBitStrength() == -1 in BC
...
see https://github.com/bcgit/bc-java/issues/972
2022-01-15 02:46:41 +01:00
Paul Schaub
e374951ed0
Remove ProofUtil.
...
This does not belong here.
2022-01-15 02:46:41 +01:00
Paul Schaub
5e0ca369bf
Document workaround for https://github.com/bcgit/bc-java/pull/1085
2022-01-15 02:46:41 +01:00
Paul Schaub
fa0e208c98
Workaround for BC not correctly parsing RevocationKey packets
2022-01-15 02:46:41 +01:00
Paul Schaub
88e3c61b20
RevocationSignatureBuilder: Allow for generation of external revocation signatures
2022-01-15 02:46:41 +01:00
Paul Schaub
5884c4afcd
ArmorUtils: Add method to print single public keys
2022-01-15 02:46:41 +01:00
Paul Schaub
1447dfc642
Add SignatureUtils.wasIssuedBy
2022-01-15 02:46:41 +01:00
Paul Schaub
99496f80f5
Hex decode data in OpenPgpV4Fingerprint constructor
2022-01-15 02:46:41 +01:00
Paul Schaub
d9e3c6ed91
Remove investigative test with expired key
2022-01-15 02:46:41 +01:00
Paul Schaub
e7f583c1af
Fix KeyRingInfo.get*Algorithm(keyId)
2022-01-15 02:45:21 +01:00
Paul Schaub
9de196d6c5
Fix test for algorithm preference extraction
2022-01-15 02:45:10 +01:00
Paul Schaub
b58bdf8ff1
Fix KeyAccessor.ViaKeyId sourcing primary user-id signature
2022-01-15 00:59:54 +01:00
Paul Schaub
b1bde161b4
Fix typos and wording
2021-12-28 13:53:25 +01:00
Paul Schaub
ce7b69269b
Various code cleanup
2021-12-28 13:32:50 +01:00
Paul Schaub
59f1a85887
Fix more code issues
2021-12-28 12:30:52 +01:00
Paul Schaub
e96d668ee2
Clean up code
2021-12-28 12:18:51 +01:00
Paul Schaub
6eac50c5b5
Add documentation to SessionKey
2021-12-28 01:42:12 +01:00
Paul Schaub
f3b7286eaf
Introduce and use DateUtil.toSecondsPrecision
2021-12-28 01:42:12 +01:00
Paul Schaub
2f44621657
Add documentation to CollectionUtils methods
2021-12-28 01:42:12 +01:00
Paul Schaub
376e234baf
Add documentation to SecretKeyRingEditor
2021-12-28 01:23:47 +01:00
Paul Schaub
d0ef8581e8
Add RevokeUserIdsTest
2021-12-27 13:49:31 +01:00