Paul Schaub
1aa6541766
Merge branch 'key_generator_rework'
2021-09-20 14:50:02 +02:00
Paul Schaub
be47a96030
Further simplify the KeyRingBuilder API
2021-09-20 12:30:03 +02:00
Paul Schaub
ce645fc429
Postpone decryption of PKESK if secret key passphrase is missing and try next PKESK first before passphrase retrieval using callback
...
Fixes #186
2021-09-15 16:33:03 +02:00
Paul Schaub
21f424551b
Simplify KeySpecBuilder
2021-09-13 19:46:18 +02:00
Paul Schaub
194e4d7631
Automatically 'repair' keys with S2K usage CHECKSUM to use SHA1 when changing passphrases
2021-09-10 20:14:12 +02:00
Paul Schaub
7e71af973b
Add JUnit tests for modification of keys with different sig classes
2021-09-10 19:57:05 +02:00
Paul Schaub
c851457ef8
Add S2KUsageFix class and tests to switch secret keys encrypted with USAGE_CHECKSUM over to USAGE_SHA1
2021-09-09 20:31:02 +02:00
Paul Schaub
c942238b40
Add tests for CachingSecretKeyRingProtector
2021-09-07 18:19:34 +02:00
Paul Schaub
90e0f74aea
Stabilize expiration dates in revocation tests
2021-09-06 15:23:10 +02:00
Paul Schaub
8256cd3a5b
Test some methods of KeyRingInfo
2021-08-08 18:26:38 +02:00
Paul Schaub
a0be510fc2
Update test key to have no key-expiration date
2021-08-08 16:57:37 +02:00
Paul Schaub
e4fdc3bc1e
SubkeyIdentifier: Throw NoSuchElementException for non-existent subkey
2021-08-01 17:23:17 +02:00
Paul Schaub
1327e08ac3
Add tests for SubkeyIdentifier
2021-08-01 17:19:04 +02:00
Paul Schaub
311c842196
Revert introduction of StreamUtil
2021-07-31 20:40:31 +02:00
Paul Schaub
fc311fe781
Workaround for #159 : Avoid to prevent swallowing IOExceptions
2021-07-26 16:19:30 +02:00
Paul Schaub
726d22b8d6
Change passphrase: Skip GNU_DUMMY_S2K keys
2021-07-19 15:05:03 +02:00
Paul Schaub
447c08b446
Add tests for ignoring marker packets when reading keys
2021-07-10 11:48:56 +02:00
Paul Schaub
48314fde40
Assign sensible names to test() methods
2021-07-03 13:23:11 +02:00
Paul Schaub
43a21de53a
Delete useless GenerateKeyTest
2021-07-03 12:59:33 +02:00
Paul Schaub
84ff6ce015
Improve tests
2021-07-03 12:42:17 +02:00
Paul Schaub
63c75f1f86
Rename TestUtil -> TestImplementationFactoryProvider
2021-07-03 12:42:12 +02:00
Paul Schaub
c8a281d6a4
Move UTC timestamp methods to DateUtil class
2021-07-03 12:23:24 +02:00
Paul Schaub
3cb014e3f6
Add TestUtils.now() to have stable 'rounded' UTC dates in tests
2021-07-01 19:12:23 +02:00
Paul Schaub
9f76d16a34
Execute more tests on both implementation providers
2021-07-01 19:11:55 +02:00
Paul Schaub
b6eed91f47
Remove deprecated encryption API
2021-06-29 16:43:37 +02:00
Paul Schaub
9637ef5d35
Increase test coverage
2021-06-29 14:42:22 +02:00
Paul Schaub
dff47d17d1
Remove more unused methods and fix method name
2021-06-28 21:14:40 +02:00
Paul Schaub
dae5288456
Add KeyRingInfo.getVersion()
2021-06-26 16:30:54 +02:00
Paul Schaub
548bfff93f
Fix: Respect user requested keyflags when adding a subkey.
2021-06-24 14:11:18 +02:00
Paul Schaub
5bb4fd3687
Add PublicKeyAlgorithmPolicy to reject weak public keys
...
BCs PGPPublicKey.getBitStrenght() appears to fail to recognize some elliptic curves.
In such cases, bitStrength is reported as -1.
I added BCUtil.getBitStrength(publicKey) to manually determine the bit strenght by OID.
See https://github.com/bcgit/bc-java/issues/972 for an upstream bug report.
2021-06-11 16:20:29 +02:00
Paul Schaub
6b99f0aadc
Add tests for PGPKeyRingCollection
2021-06-10 16:21:04 +02:00
Paul Schaub
1ad23366a7
Implement KeyRingInfo.getKeysWithFlag() and KeyRingInfo.getExpirationDateForUse()
2021-05-31 15:13:28 +02:00
Paul Schaub
8618d1faea
More tests
2021-05-31 13:59:56 +02:00
Paul Schaub
b07cb2467b
Alter tests to cover untested KeyRingBuilderInterface methods
2021-05-30 18:05:38 +02:00
Paul Schaub
82536eaa77
Improve support for PGP[Secret|Public]KeyRingCollections
2021-05-29 13:52:29 +02:00
Paul Schaub
77800f26e8
SecretKeyRingEditor: UserIDs only reside on primary keys
2021-05-28 23:14:20 +02:00
Paul Schaub
57c11a63e5
Remove unused throws declarations
2021-05-28 22:39:27 +02:00
Paul Schaub
c255439ee2
Cleanse duplicated code
2021-05-28 22:37:16 +02:00
Paul Schaub
89a0adddd8
Reworking encryption/decryption API.
2021-05-25 14:23:42 +02:00
Paul Schaub
7e2c89b1b3
Trim passphrases
2021-05-20 12:41:51 +02:00
Paul Schaub
a72cff28d8
Improve user-id revocation tests
2021-05-17 18:28:37 +02:00
Paul Schaub
9358e58fb3
Improve CachingSecretKeyRingProtector
2021-05-14 18:55:26 +02:00
Paul Schaub
95121e2a55
Get rid of redundant SecretKeyRingProtector implementations.
2021-05-14 18:37:47 +02:00
Paul Schaub
8313895f26
Remove redundant exceptions
2021-05-14 13:20:16 +02:00
Paul Schaub
5a56949dd7
Throw WrongPassphraseException when wrong passphrase is provided to unlock secret key
2021-05-14 13:18:34 +02:00
Paul Schaub
ec611d7c5f
OpenPgpV4Fingerprint: Support pretty print format
2021-05-08 14:01:42 +02:00
Paul Schaub
64cc9ecca4
Proper Signature Verification
2021-04-30 09:49:19 +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
Paul Schaub
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
Paul Schaub
d0a162ce74
Merge branch 'parse_public_key_ring_collection_from_armored_source'
2021-03-23 01:06:37 +01:00
Paul Schaub
46140e6561
Fix checkstyle issues in tests and make small adjustments
2021-03-23 01:06:15 +01:00
Paul Schaub
883c819536
GenerateKeyTest: Print public key instead of secret key
2021-03-18 21:33:39 +01:00
Paul Schaub
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
Paul Schaub
bfab4b60f0
Introduce parametrized tests to also test the JceImplementationFactory
2021-02-25 23:27:08 +01:00
Ivan Pizhenko
e5aaebe174
issue #91 Improve class UserId
2021-02-21 15:11:09 +02:00
Paul Schaub
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
Paul Schaub
c75a192513
Use ArmoredOutputStreamFactory to hide version string in ascii armor
...
Partially fixes #82
2021-02-19 19:50:36 +01:00
Paul Schaub
f2f7305fec
Allow for setting of expiration date during key generation
2021-02-13 12:22:28 +01:00
Paul Schaub
651bb63175
Deprecate withMasterKey(spec) in favor of withPrimaryKey(spec)
2021-02-11 17:18:59 +01:00
Paul Schaub
79b2d42f9c
Add support for more elliptic curves and start implementing KeyInfo class
2021-02-11 16:58:00 +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
Paul Schaub
eaee5a27fc
Move selection strategies to util package and implement UserIdSelectionStrategy
2021-02-03 16:05:21 +01:00
Paul Schaub
d7ef05775d
Add getPrimaryUserId()
2021-01-29 15:08:11 +01:00
Paul Schaub
bec2fb5ce1
Increase test coverage by writing bunch of JUnit tests
2021-01-22 20:03:20 +01:00
Paul Schaub
ee1f90e850
Test and implement revocation of single userIDs
2021-01-22 18:28:48 +01:00
Paul Schaub
c4d670821f
Test if revoked userIds are no longer accepted as valid userIDs
2021-01-22 16:56:41 +01:00
Paul Schaub
85ed20cfae
Test if subpackets are being preserved when changing expiration time
2021-01-22 16:56:06 +01:00
Paul Schaub
93df791700
Test revocation reason related code
2021-01-21 14:59:55 +01:00
Paul Schaub
87eab2fb9a
More UserID tests
2021-01-21 14:52:11 +01:00
Paul Schaub
2880e0bed0
Test SecretKeySelectionStrategy.selectKeysFromKeyRing()
2021-01-21 14:46:28 +01:00
Paul Schaub
ccae32ca3f
Test getSecretKey()
2021-01-21 14:38:25 +01:00
Paul Schaub
c35154813a
More code cleanup and tests
2021-01-21 14:35:33 +01:00
Paul Schaub
74c0c8a32e
Fix signature creation using keys without preferred algorithms
2021-01-21 13:47:43 +01:00
Paul Schaub
3e5ff1fe70
PGPainless 0.2.0-alpha6
2021-01-20 00:51:59 +01:00
Paul Schaub
21dae7541c
Add test to verify that key with generic certification can be revoked properly
2021-01-19 15:36:31 +01:00
Paul Schaub
b25a78bc29
Fix changing of expiration dates for keys and subkeys
2021-01-18 17:09:57 +01:00
Paul Schaub
c89558a01b
Split KeyFlagSelectionStrategies up into Has{Any|All}KeyFlagsSelectionStrategy
2021-01-09 20:55:19 +01:00
Paul Schaub
8df752e995
Add HasKeyFlagsSelectionStrategy
2021-01-09 20:16:13 +01:00
Paul Schaub
83bd157a78
Get rid of generics in selection strategies
2021-01-09 19:23:50 +01:00
Paul Schaub
e53a21ff77
Add some weird keys and test for multi sub key encryption
2021-01-09 18:57:48 +01:00
Paul Schaub
5143da1311
Verify that keys can carry certain key flags
2021-01-03 17:01:08 +01:00
Paul Schaub
2378162953
Remove withDefaultKeyFlags method
2021-01-03 16:26:53 +01:00
Paul Schaub
82014ef6e5
Fix checkstyle issues
2021-01-03 15:52:18 +01:00
Paul Schaub
1c1f9d49ab
Introduce ImplementationFactory
2020-12-27 01:56:18 +01:00
Paul Schaub
4870bda4f2
Allow specification of signature type
2020-12-16 20:11:28 +01:00
Paul Schaub
ca6089eeac
Add test to verify that primary key can certify§
2020-12-11 22:54:27 +01:00
Paul Schaub
ac08827f91
Move ECDSA and ECDH to ecc subpackage
2020-12-11 18:16:31 +01:00
Paul Schaub
3c88bdde9b
Refactor keytype related classes
2020-12-08 20:02:41 +01:00
Paul Schaub
4550425609
Wip: Add more elliptic curves, support for {X,Ed}25519
2020-12-08 19:26:57 +01:00
Paul Schaub
980782e629
Remove deprecated class PGPKeyRing
2020-12-08 19:14:52 +01:00
Paul Schaub
e1be34e007
Fix checkstyle issues
2020-11-29 16:18:17 +01:00
Paul Schaub
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
Paul Schaub
cc1e4601e3
replace create{Encryptor,Decryptor} methods with encryptAndOrSign,decryptAndOrVerify
2020-11-29 15:33:54 +01:00