95121e2a55
Get rid of redundant SecretKeyRingProtector implementations.
2021-05-14 18:37:47 +02:00
8313895f26
Remove redundant exceptions
2021-05-14 13:20:16 +02:00
5a56949dd7
Throw WrongPassphraseException when wrong passphrase is provided to unlock secret key
2021-05-14 13:18:34 +02:00
ec611d7c5f
OpenPgpV4Fingerprint: Support pretty print format
2021-05-08 14:01:42 +02:00
431a65517e
Add documentation to signature related classes
2021-05-03 13:37:47 +02:00
ec85f53bb6
Incorporate feedback from @IvanPizhenko. Thanks!
2021-04-30 10:23:12 +02:00
64cc9ecca4
Proper Signature Verification
2021-04-30 09:49:19 +02:00
6ee8a9416f
Prevent decryption of messages using SED instead of SEIP packets and create dedicated exceptions for MDC related errors
2021-04-27 12:27:25 +02:00
Ivan Pizhenko
eb47e5caa3
issue #107 Add method KeyRingInfo.isFullyEncrypted() ( #110 )
...
Add method KeyRingInfo.isFullyEncrypted()
Fixes #107
Co-authored-by: Ivan Pizhenko <IvanPizhenko@users.noreply.github.com>
2021-04-27 11:06:04 +02:00
2c4a3fca6a
Introduce OpenPgpMetadata.FileInfo class for setting/getting file name, mod date, encoding...
2021-04-25 00:28:48 +02:00
39e87f9ce4
Fix checkstyle issues
2021-04-10 13:09:32 +02:00
DenBond7
43647f3145
Added PGPKeyRingCollection. Added tests to KeyRingReaderTest to cover parsing of private/pub keys combinations.
2021-04-10 13:08:04 +02:00
DenBond7
8e569e7931
Added tests to KeyRingReaderTest to cover different cases of the source.
2021-04-10 13:08:04 +02:00
d0a162ce74
Merge branch 'parse_public_key_ring_collection_from_armored_source'
2021-03-23 01:06:37 +01:00
46140e6561
Fix checkstyle issues in tests and make small adjustments
2021-03-23 01:06:15 +01:00
883c819536
GenerateKeyTest: Print public key instead of secret key
2021-03-18 21:33:39 +01:00
8c97b6ead1
In PasswordBasedSecretKeyRingProtector.forKey(ring, passphrase): Return passphrase also for subkeys
...
Fixes #97 , thanks @DenBond7
2021-03-18 21:28:08 +01:00
DenBond7
fb82f711d8
Updated KeyRingReaderTest. Added publicKeyRingCollectionFromNotArmoredStream()
2021-03-17 14:55:05 +02:00
DenBond7
f34c787a4d
Added working tests(string, bytes) to EncryptDecryptTest
2021-03-17 13:49:31 +02:00
DenBond7
447593a65d
Added tests for PGPainless.readKeyRing().publicKeyRingCollection()(different resources)
2021-03-17 12:51:02 +02:00
c5fbdbbc9b
Disable MultiPassphraseEncryptionTest until https://github.com/pgpainless/pgpainless/issues/72 is fixed
2021-02-27 15:22:29 +01:00
bfab4b60f0
Introduce parametrized tests to also test the JceImplementationFactory
2021-02-25 23:27:08 +01:00
9587d52f29
Add test for Feature class
2021-02-25 20:02:42 +01:00
577ee143b5
Add NotationRegistryTest
2021-02-25 19:57:18 +01:00
Ivan Pizhenko
e5aaebe174
issue #91 Improve class UserId
2021-02-21 15:11:09 +02:00
3e75d325a8
Stabilize test
...
The test was sometimes failing, as generating RSA keys can take longer than 1 second, which would result in the delta in the check being exceeded
2021-02-20 01:08:51 +01:00
81393a7285
Abort decryption process at a depth of 16 nested packets
2021-02-19 21:37:54 +01:00
c75a192513
Use ArmoredOutputStreamFactory to hide version string in ascii armor
...
Partially fixes #82
2021-02-19 19:50:36 +01:00
ea89289852
Check MDC when stream is closed
2021-02-17 21:04:05 +01:00
d2a581de9b
Fix decryption of messages with Wildcard recipient
...
Fixes #76
2021-02-17 20:20:10 +01:00
f2f7305fec
Allow for setting of expiration date during key generation
2021-02-13 12:22:28 +01:00
83117c99cb
Add two more tests
2021-02-12 01:23:32 +01:00
651bb63175
Deprecate withMasterKey(spec) in favor of withPrimaryKey(spec)
2021-02-11 17:18:59 +01:00
79b2d42f9c
Add support for more elliptic curves and start implementing KeyInfo class
2021-02-11 16:58:00 +01:00
ebf46fa05e
Add tests for SelectUserId
2021-02-07 03:12:59 +01:00
Ivan Pizhenko
72e0dea20f
remove unused imports
2021-02-04 09:56:08 +02:00
Ivan Pizhenko
a807ddbb4e
use PGPainless.readKeyRing().secretKeyRing()
2021-02-04 09:45:08 +02:00
Ivan Pizhenko
c9982ccfe6
Additional user id manipulation test
2021-02-03 23:09:02 +02:00
eaee5a27fc
Move selection strategies to util package and implement UserIdSelectionStrategy
2021-02-03 16:05:21 +01:00
d7ef05775d
Add getPrimaryUserId()
2021-01-29 15:08:11 +01:00
bec2fb5ce1
Increase test coverage by writing bunch of JUnit tests
2021-01-22 20:03:20 +01:00
ee1f90e850
Test and implement revocation of single userIDs
2021-01-22 18:28:48 +01:00
c4d670821f
Test if revoked userIds are no longer accepted as valid userIDs
2021-01-22 16:56:41 +01:00
85ed20cfae
Test if subpackets are being preserved when changing expiration time
2021-01-22 16:56:06 +01:00
39ab6ebddf
Add test for SignatureSubpacketGeneratorUtil
2021-01-22 16:48:30 +01:00
93df791700
Test revocation reason related code
2021-01-21 14:59:55 +01:00
87eab2fb9a
More UserID tests
2021-01-21 14:52:11 +01:00
2880e0bed0
Test SecretKeySelectionStrategy.selectKeysFromKeyRing()
2021-01-21 14:46:28 +01:00
ccae32ca3f
Test getSecretKey()
2021-01-21 14:38:25 +01:00
c35154813a
More code cleanup and tests
2021-01-21 14:35:33 +01:00
74c0c8a32e
Fix signature creation using keys without preferred algorithms
2021-01-21 13:47:43 +01:00
3e5ff1fe70
PGPainless 0.2.0-alpha6
2021-01-20 00:51:59 +01:00
21dae7541c
Add test to verify that key with generic certification can be revoked properly
2021-01-19 15:36:31 +01:00
b25a78bc29
Fix changing of expiration dates for keys and subkeys
2021-01-18 17:09:57 +01:00
c89558a01b
Split KeyFlagSelectionStrategies up into Has{Any|All}KeyFlagsSelectionStrategy
2021-01-09 20:55:19 +01:00
4f0493bce7
Test that the encryptionStreamBuilder will not encrypt to keys with missing flags
2021-01-09 20:40:10 +01:00
8df752e995
Add HasKeyFlagsSelectionStrategy
2021-01-09 20:16:13 +01:00
83bd157a78
Get rid of generics in selection strategies
2021-01-09 19:23:50 +01:00
e53a21ff77
Add some weird keys and test for multi sub key encryption
2021-01-09 18:57:48 +01:00
63bf5a8e69
Add support for decryption with hidden recipients
2021-01-09 16:16:17 +01:00
f5338e13e7
Get rid of ElGamal_GENERAL and rename ElGamal_ENCRYPT to ElGamal
2021-01-03 17:06:38 +01:00
5143da1311
Verify that keys can carry certain key flags
2021-01-03 17:01:08 +01:00
2378162953
Remove withDefaultKeyFlags method
2021-01-03 16:26:53 +01:00
82014ef6e5
Fix checkstyle issues
2021-01-03 15:52:18 +01:00
1c1f9d49ab
Introduce ImplementationFactory
2020-12-27 01:56:18 +01:00
c7ede0fc8a
Add junit test for symmetric decryption
2020-12-26 23:36:33 +01:00
7d374f10a7
Allow encryption and decryption using symmetric passphrases in the main API
2020-12-26 19:04:27 +01:00
4870bda4f2
Allow specification of signature type
2020-12-16 20:11:28 +01:00
ca6089eeac
Add test to verify that primary key can certify§
2020-12-11 22:54:27 +01:00
ac08827f91
Move ECDSA and ECDH to ecc subpackage
2020-12-11 18:16:31 +01:00
5f289f4fe1
ElGamal: Deprecate GENERAL
2020-12-11 18:14:36 +01:00
3c88bdde9b
Refactor keytype related classes
2020-12-08 20:02:41 +01:00
4550425609
Wip: Add more elliptic curves, support for {X,Ed}25519
2020-12-08 19:26:57 +01:00
980782e629
Remove deprecated class PGPKeyRing
2020-12-08 19:14:52 +01:00
e1be34e007
Fix checkstyle issues
2020-11-29 16:18:17 +01:00
d9d25ed6fb
Merge pull request #31 from wiktor-k/add-expiration
...
Add ability to modify expiration dates for keys
2020-11-29 15:45:10 +01:00
cc1e4601e3
replace create{Encryptor,Decryptor} methods with encryptAndOrSign,decryptAndOrVerify
2020-11-29 15:33:54 +01:00
Wiktor Kwapisiewicz
2a672aaf03
Add ability to change expiration date for the primary key
2020-11-27 17:11:56 +01:00
93abfd5517
SecretKeyRingEditor: Add revoke() shortcut method
2020-11-22 21:25:52 +01:00
d7aea4b0f7
Add test for KeyRingInfo class
2020-11-22 21:19:10 +01:00
1174a7f787
Add expiration date of emil test key as constant
2020-11-22 21:07:31 +01:00
0edd8b616f
Add support for creating detached revocation certificates
2020-11-20 12:01:39 +01:00
5cdbb125b0
Refactoring: move KeyRingEditor to SecretKeyRingEditor in prep for more editor classes
2020-11-19 17:51:57 +01:00
aafc9be888
Switch to Jupiter JUnit for tests
2020-11-13 16:31:59 +01:00
4ed2cdaed9
Introduce UserId utility class
2020-11-13 15:59:28 +01:00
9b2ad24bda
Implement revocation of subkeys
2020-11-13 14:32:29 +01:00
b4967db1a2
Implement adding subkeys to keyrings
2020-11-10 17:25:35 +01:00
99a2fcf1c0
Simplify KeyType API
2020-11-07 18:24:12 +01:00
cb3190a0fc
Add JUnit tests for user-id addition/deletion
2020-11-06 18:32:44 +01:00
47b1ccc071
More rigurous testing of key re-encryption
2020-10-30 13:30:21 +01:00
d0580918fa
Fix checkstyle issues
2020-10-30 12:38:59 +01:00
Wiktor Kwapisiewicz
59fe53c594
Fix creating keys with Passphrase.emptyPassphrase()
...
Previously the code supplied `null` to BouncyCastle's
encryptor/decryptor builder's build method and that caused
NullPointerException to be thrown.
The fix checks if the passphrase is empty and omits the BouncyCastle
builder in that case.
Fixes #16 .
2020-10-30 12:22:05 +01:00
Wiktor Kwapisiewicz
e30d0f6293
Remove RSA_SIGN and RSA_ENCRYPT as they are deprecated
...
This change removes two mechanisms that are deprecated in RFC 4880. The
spec explicitly mentions that "RSA Encrypt-Only (2) and RSA Sign-Only
are deprecated and SHOULD NOT be generated" [0].
The remaining RSA_GENERAL key type was renamed to just RSA for ease of
use for developers.
[0]: https://tools.ietf.org/html/rfc4880#section-9.1
2020-10-30 11:48:28 +01:00
99af9e0171
Re-encrypting whole keyring successful
2020-10-25 20:43:09 +01:00
623c4c930d
Adding user-ids works
2020-10-25 19:54:03 +01:00
651a69c118
Work on the editing api
2020-10-23 16:44:21 +02:00
f21231ad53
Trim user-ids
2020-10-20 23:23:25 +02:00
1b389f678a
Fix checkstyle issues
2020-10-20 22:58:45 +02:00
9670e5ecb9
Prevent additional user-id from being equal to primary user-id
2020-10-20 22:14:56 +02:00
2f85c9a8d0
Test if userId is present
2020-10-16 13:18:07 +02:00