c266adb5a5
Fix getExpirationDate method for keys without expiration
2020-11-22 21:07:14 +01:00
5ee17fac69
Deprecate PGPainless's PGPKeyRing
2020-11-22 20:49:07 +01:00
cae93022ad
Add KeyRingInfo class that helps to extract information about key rings
2020-11-22 20:48:09 +01:00
8305fcf0ee
Allow for revocation attributes to be passed in when revoking subkey directly
2020-11-20 12:19:45 +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
9f95e7925b
De-duplicate KeyPrinter class
2020-11-18 12:20:59 +01:00
4dd2b2f71a
Implement revoking subkeys for key-ids as well
2020-11-13 16:59:55 +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
31844c5212
break for-loop of addUserId method when finding key
2020-11-13 15:11:33 +01:00
86c3487ad4
Some code cleanup
2020-11-13 15:08:37 +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
6159428c9a
Add support for deleting user-ids (untested)
2020-11-03 19:56:35 +01:00
92e2828885
Add support for deleting subKeys (untested)
2020-11-03 19:32:01 +01:00
2d899e0a3b
Allow adding user-ids to sub keys
2020-11-03 19:29:15 +01:00
47b1ccc071
More rigurous testing of key re-encryption
2020-10-30 13:30:21 +01:00
7c102334ed
expand expression to simplify debugging
2020-10-30 13:30:04 +01:00
70ad4a274e
Change method name to toNoPassphrase()
2020-10-30 13:29:18 +01:00
d0580918fa
Fix checkstyle issues
2020-10-30 12:38:59 +01:00
8097a9d964
Passphrase.isEmpty: also check for validity
2020-10-30 12:31:52 +01:00
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
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
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
cdd1bf4198
Add documentation and throw NotYetImplementedException in stubs
2020-10-29 15:15:13 +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
207c41d411
Add initial draft interface for a key editor API
2020-10-22 01:20:43 +02:00
f21231ad53
Trim user-ids
2020-10-20 23:23:25 +02:00
c06bedd656
Introduce SignatureType enum
2020-10-20 22:59:06 +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
11e7bc69fc
Fix NPE by initializing the SignatureGenerator
2020-10-16 13:11:46 +02:00
8c30db9bf1
Wip: Allow for additional user-ids to be added
2020-10-16 12:46:58 +02:00
6a4fa47c12
Remove unused imports
2020-09-09 20:49:31 +02:00
2af60454f5
Add KeyRingProtectionSettings.secureDefaultSettings() factory method
2020-08-31 12:37:34 +02:00
20f32926bb
Add Passphrase.fromPassword() and PasswordBasedSecretKeyRingProtector.forKey() factory methods
2020-08-31 12:26:07 +02:00
01f81fabaa
Add OnePassSignature verification test
2020-08-30 13:16:47 +02:00
7de04c2949
Add handy shortcut methods to the API
2020-08-24 16:57:14 +02:00
f10d698a09
Remove dependency on jetbrains annotations
2020-08-24 16:44:14 +02:00
4f6a7d2838
Fix checkstyle issues
2020-08-24 16:26:29 +02:00
848a7a428b
Add handy default methods for the API and add documentation
2020-08-24 16:00:23 +02:00
65b670740e
Add support for detached signatures
2020-08-24 14:56:42 +02:00
0a3f688b23
Add documentation for openpgp4fpr fingerprint methods
2020-07-10 20:31:33 +02:00
46af22cc50
Add toUri/fromUri methods to OpenPgpV4Fingerprint
2020-07-10 18:17:29 +02:00
6c449b86af
Move charset utf8 to static constant
2020-07-10 18:16:22 +02:00
f108ccc30c
Fix compatibility with java8
2020-04-21 17:34:21 +02:00
2c008ecf50
Add bcpg as transitive dependency
2020-04-11 12:48:07 +02:00
ba6e850f6f
Improve logging of tests
2020-04-11 11:35:48 +02:00
5fa05e08fc
Add test for password protected keys
2020-01-14 22:11:01 +01:00
9c1f6fc812
return null-cryptors for unprotected keys
2020-01-14 22:10:07 +01:00
4b61745c46
Add default constructor and fix condition
2020-01-14 22:09:13 +01:00
795a7783d4
Remove unused import
2020-01-12 23:45:41 +01:00
5b249f5b3d
Add junit test of Passphrase
2020-01-12 23:42:53 +01:00
33183cb899
Add encrypted key pair for cryptie
2020-01-12 23:40:39 +01:00
fd13a1278a
Improve BCUtilTest
2020-01-12 23:34:47 +01:00
745e296799
Move GenerateKeyTest to generate package
2020-01-12 23:34:12 +01:00
fa89a4d3b3
Test UnprotectedKeysProtector
2020-01-12 20:33:31 +01:00
750d93b009
Easier generation of simple keys with password
2020-01-12 20:32:55 +01:00
700f9cbca4
Add JUnit tests for Wildcard selection strategy
2020-01-12 20:04:23 +01:00
244f13308d
JUnit tests for XMPP selection strategy
2020-01-12 19:57:29 +01:00
db15a3e962
Fix XMPP key selection strategy by auto appending xmpp: if missing
2020-01-12 19:56:16 +01:00
e7ff9f0354
JUnit test for Email selection strategy§
2020-01-12 19:55:34 +01:00
1c576bd647
Add ignored test for generating ec key
2020-01-12 19:17:58 +01:00
5a7ced81a8
Add test key with email uid
2020-01-12 19:17:28 +01:00
064ff5b962
Remove unused imports
2020-01-12 19:15:39 +01:00
790b0cf7de
Add encrypt/decrypt test using existing keys
2020-01-12 18:36:03 +01:00
6dce063685
Add Whitelist selection strategy test
2020-01-12 18:35:42 +01:00
09e0a5360d
Reuse MultiMap constructor of Whitelist selection strategy
2020-01-12 18:34:21 +01:00
8a2051904a
Further refactoring of KeyRingBuilder
2020-01-12 16:37:24 +01:00
81c3a471a7
Refactor KeyRingBuilder
2020-01-12 15:40:50 +01:00
79b04d1535
Refactor KeyRingReader
2020-01-12 13:11:10 +01:00
6e5dce8261
Reorganize tests
2020-01-11 13:11:14 +01:00
18abebbf9e
Fix ProviderFactoryTest
2020-01-10 22:16:42 +01:00
218c068ddb
Work on Tests. Disable costly freshkeys tests for now.
2020-01-10 22:07:54 +01:00
cd4bf1ef96
Rely on ProviderFactory for access to BouncyCastleProvider
2020-01-10 19:03:04 +01:00
ead54cb00b
Fix checkstyle issues
2020-01-10 18:46:31 +01:00
5134463883
Fix animalsniffer bugs!
2020-01-10 18:42:39 +01:00
b615ef74b0
Further refactoring of SignatureVerifyingInputStream
2020-01-10 18:31:43 +01:00
2902c81b6c
Simplify integrity protection assignment of resultBuilder
2020-01-10 18:31:27 +01:00
dd976b7319
Add hint about mutli assignment
2020-01-10 18:30:48 +01:00
db09a0ffbe
First Refactoring of DecryptionStreamFactory
2020-01-10 17:12:13 +01:00
be33206d03
Refactor SignatureVerifyingInputStream
2020-01-10 15:57:15 +01:00
ad070d0c34
Refactor EncryptionStream
2020-01-10 15:43:22 +01:00
530a22ba0e
Improve tests and add signatures to result
2020-01-10 15:12:04 +01:00
cbb9b00b88
Rename KeyFlag.fromInteger -> fromBitmask
2020-01-09 20:53:46 +01:00
8780d5a7b0
algorithm: Use ConcurrentHashMap instead of HashMap
...
Signed-off-by: Paul Schaub <vanitasvitae@fsfe.org>
2020-01-09 20:53:42 +01:00
2c816dd84c
Use ProviderFactory instead of 'BC'
2020-01-09 20:45:21 +01:00
9a9f706e83
Introduce ProviderFactory.
...
The goal is to become Provider-agnostic one day
2020-01-09 20:20:51 +01:00
ed440e4434
Make toString() @NonNull
2020-01-09 20:00:28 +01:00
e9b5e6278a
Use StandardCharsets.UTF_8
2020-01-09 20:00:17 +01:00
2e3a435d4e
Wildcard Selection Strategy: make inner classes static
2020-01-09 19:58:52 +01:00
6679c1bf3f
Passphrase.java do not use deprecated finalize()
2020-01-09 19:06:48 +01:00
8db9450304
Bump gradle wrapper to 6.0.1
2020-01-09 19:05:22 +01:00