Commit Graph

264 Commits

Author SHA1 Message Date
Paul Schaub aafc9be888
Switch to Jupiter JUnit for tests 2020-11-13 16:31:59 +01:00
Paul Schaub 4ed2cdaed9
Introduce UserId utility class 2020-11-13 15:59:28 +01:00
Paul Schaub 31844c5212
break for-loop of addUserId method when finding key 2020-11-13 15:11:33 +01:00
Paul Schaub 86c3487ad4
Some code cleanup 2020-11-13 15:08:37 +01:00
Paul Schaub 9b2ad24bda
Implement revocation of subkeys 2020-11-13 14:32:29 +01:00
Paul Schaub b4967db1a2
Implement adding subkeys to keyrings 2020-11-10 17:25:35 +01:00
Paul Schaub d168c61bf3 Bump BC to 1.67 2020-11-10 17:25:19 +01:00
Paul Schaub 99a2fcf1c0
Simplify KeyType API 2020-11-07 18:24:12 +01:00
Paul Schaub cb3190a0fc
Add JUnit tests for user-id addition/deletion 2020-11-06 18:32:44 +01:00
Paul Schaub 6159428c9a
Add support for deleting user-ids (untested) 2020-11-03 19:56:35 +01:00
Paul Schaub 92e2828885
Add support for deleting subKeys (untested) 2020-11-03 19:32:01 +01:00
Paul Schaub 2d899e0a3b
Allow adding user-ids to sub keys 2020-11-03 19:29:15 +01:00
Paul Schaub 47b1ccc071
More rigurous testing of key re-encryption 2020-10-30 13:30:21 +01:00
Paul Schaub 7c102334ed
expand expression to simplify debugging 2020-10-30 13:30:04 +01:00
Paul Schaub 70ad4a274e
Change method name to toNoPassphrase() 2020-10-30 13:29:18 +01:00
Paul Schaub d0580918fa
Fix checkstyle issues 2020-10-30 12:38:59 +01:00
Paul Schaub 8097a9d964
Passphrase.isEmpty: also check for validity 2020-10-30 12:31:52 +01:00
Paul Schaub 423a3f1354
Merge pull request #18 from wiktor-k/fix-empty-passphrase
Fix creating keys with `Passphrase.emptyPassphrase()`
2020-10-30 12:31:06 +01:00
Paul Schaub 04420f8dac
Extract secret key checksum algorithm into constant 2020-10-30 12:28:11 +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
Paul Schaub 2c2acb996a
Merge pull request #17 from wiktor-k/clean-up-rsa
Remove RSA_SIGN and RSA_ENCRYPT as they are deprecated
2020-10-30 11:52:47 +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
Paul Schaub 63d6ab743c
PGPainless 0.2.0-alpha2-SNAPSHOT 2020-10-29 15:21:55 +01:00
Paul Schaub da05849daf
PGPainless 0.2.0-alpha1 2020-10-29 15:18:37 +01:00
Paul Schaub cdd1bf4198
Add documentation and throw NotYetImplementedException in stubs 2020-10-29 15:15:13 +01:00
Paul Schaub 99af9e0171
Re-encrypting whole keyring successful 2020-10-25 20:43:09 +01:00
Paul Schaub 623c4c930d
Adding user-ids works 2020-10-25 19:54:03 +01:00
Paul Schaub 651a69c118
Work on the editing api 2020-10-23 16:44:21 +02:00
Paul Schaub 207c41d411
Add initial draft interface for a key editor API 2020-10-22 01:20:43 +02:00
Paul Schaub f21231ad53
Trim user-ids 2020-10-20 23:23:25 +02:00
Paul Schaub c06bedd656
Introduce SignatureType enum 2020-10-20 22:59:06 +02:00
Paul Schaub 1b389f678a
Fix checkstyle issues 2020-10-20 22:58:45 +02:00
Paul Schaub 9670e5ecb9
Prevent additional user-id from being equal to primary user-id 2020-10-20 22:14:56 +02:00
Paul Schaub 2f85c9a8d0
Test if userId is present 2020-10-16 13:18:07 +02:00
Paul Schaub 11e7bc69fc
Fix NPE by initializing the SignatureGenerator 2020-10-16 13:11:46 +02:00
Paul Schaub 8c30db9bf1
Wip: Allow for additional user-ids to be added 2020-10-16 12:46:58 +02:00
Paul Schaub 6a4fa47c12
Remove unused imports 2020-09-09 20:49:31 +02:00
Paul Schaub 2af60454f5
Add KeyRingProtectionSettings.secureDefaultSettings() factory method 2020-08-31 12:37:34 +02:00
Paul Schaub 20f32926bb
Add Passphrase.fromPassword() and PasswordBasedSecretKeyRingProtector.forKey() factory methods 2020-08-31 12:26:07 +02:00
Paul Schaub 7bfa358bb3
README: s/compile/implementation 2020-08-30 23:24:21 +02:00
Paul Schaub 14540d4386
Update README 2020-08-30 23:06:40 +02:00
Paul Schaub c6a6541026
PGPainless 0.2.0-SNAPSHOT 2020-08-30 22:46:03 +02:00
Paul Schaub 6027498409
PGPainless 0.1.0 2020-08-30 22:36:50 +02:00
Paul Schaub 8a2f74a603
Fix javadoc generation on java 11
See https://github.com/gradle/gradle/issues/11182
2020-08-30 22:34:29 +02:00
Paul Schaub 2b3f7ef54a
PGPainless 0.0.1-alpha12 2020-08-30 13:19:22 +02:00
Paul Schaub 01f81fabaa
Add OnePassSignature verification test 2020-08-30 13:16:47 +02:00
Paul Schaub 7de04c2949
Add handy shortcut methods to the API 2020-08-24 16:57:14 +02:00
Paul Schaub f10d698a09
Remove dependency on jetbrains annotations 2020-08-24 16:44:14 +02:00
Paul Schaub 4f6a7d2838
Fix checkstyle issues 2020-08-24 16:26:29 +02:00
Paul Schaub 848a7a428b
Add handy default methods for the API and add documentation 2020-08-24 16:00:23 +02:00