1
0
Fork 0
mirror of https://github.com/pgpainless/pgpainless.git synced 2024-06-28 14:34:49 +02:00
Commit graph

306 commits

Author SHA1 Message Date
Paul Schaub ce4869e15a
UnlockSecretKey: Do not try to get decryptor for unencrypted keys 2021-05-31 15:38:47 +02:00
Paul Schaub 73f6c54fa2
More documentation 2021-05-31 15:33:42 +02:00
Paul Schaub a871bc3a0c
Add documentation 2021-05-31 15:24:41 +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 ccdcd49c58
Remove deprecated method withMasterKey from KeyRingBuilderInterface 2021-05-30 18:05:09 +02:00
Paul Schaub 82536eaa77
Improve support for PGP[Secret|Public]KeyRingCollections 2021-05-29 13:52:29 +02:00
Paul Schaub 1a5baa0fa4
Clean up BCUtils class 2021-05-29 12:43:31 +02:00
Paul Schaub 13c7572c8c
Restore functionality of MissingPublicKeyCallback + JUnit test it 2021-05-29 12:19:12 +02:00
Paul Schaub fd0734b247
Remove legacy symmetric encryption code 2021-05-28 23:22:11 +02:00
Paul Schaub ea03c66400
Throw MissingDecryptionMethodException when missing decryption key or -passphrase 2021-05-28 23:20:25 +02:00
Paul Schaub 77800f26e8
SecretKeyRingEditor: UserIDs only reside on primary keys 2021-05-28 23:14:20 +02:00
Paul Schaub c255439ee2
Cleanse duplicated code 2021-05-28 22:37:16 +02:00
Paul Schaub a23f2c4401
Delete SelectSignatureFromKey class 2021-05-28 22:21:03 +02:00
Paul Schaub 293442d699
Delete unused EvaluatedKeyRing class 2021-05-28 21:42:31 +02:00
Paul Schaub 6f0cf35e31
Delete redundant classes 2021-05-28 21:33:20 +02:00
Paul Schaub b1deb75969
Deprecate PGPainless.encryptAndOrSign(purpose) 2021-05-27 15:57:21 +02:00
Paul Schaub 9883d1537b
Move EncryptionPurpose to own class 2021-05-27 15:52:43 +02:00
Paul Schaub 3edaa60b52
Make KeyRingInfo NPE-safe 2021-05-27 14:50:48 +02:00
Paul Schaub e3749f5734
Add SigningOptions.add{Inline|Detached}Signatures(decryptor, pgpSecretKeyRingCollection, type) 2021-05-27 13:55:18 +02:00
Paul Schaub 8e6abe5d02
Add EncryptionOptions.addRecipients(PGPPublicKeyRingCollection) 2021-05-27 13:47:24 +02:00
Paul Schaub e67854310d
Change visibilit of non-API methods to package 2021-05-27 13:47:04 +02:00
Paul Schaub 629ebbd46d
Add missing javadoc 2021-05-27 13:46:40 +02:00
Paul Schaub 80a6baf0b1
Move File-based MultiPassStrategy from factory method into own class 2021-05-25 22:23:08 +02:00
Paul Schaub 3cd64b61ca
Fix SOP encrypt-decrypt test 2021-05-25 16:25:22 +02:00
Paul Schaub b0692b4dc5 Fix javadoc reference 2021-05-25 14:24:47 +02:00
Paul Schaub 5965742e5f Document DocumentSignatureType 2021-05-25 14:24:47 +02:00
Paul Schaub 412b0aa119 Add SymmetricKeyAlgorithmNegotiator 2021-05-25 14:24:47 +02:00
Paul Schaub 821a49576f AlgorithmSuite: Use LinkedHashSet instead of List 2021-05-25 14:24:47 +02:00
Paul Schaub 1550e4ff4e Delete SelectPublicKey 2021-05-25 14:24:47 +02:00
Paul Schaub 4e63313c91 Do some first prototype algorithm negotiation 2021-05-25 14:24:38 +02:00
Paul Schaub 909f0e7be3 Work on KeyRingInfo 2021-05-25 14:24:26 +02:00
Paul Schaub 6cb9091b2a Work on signaturePicker 2021-05-25 14:24:16 +02:00
Paul Schaub a30767eb91 Fix tests 2021-05-25 14:24:10 +02:00
Paul Schaub d70ee86468 Prevent plaintext encryption 2021-05-25 14:23:58 +02:00
Paul Schaub 803e507ae7 Add some comments 2021-05-25 14:23:58 +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 87e5fe71e5
Fix javadoc warning 2021-05-17 13:50:34 +02:00
Paul Schaub 197cfab0d6
Respect symmetric algorithm policy during decryption and throw UnacceptableAlgorithmException if policy is violated 2021-05-17 13:47:46 +02:00
Paul Schaub 03fb81a77e
Create separate symmetric key algorithm policies for encryption/decryption 2021-05-15 20:43:56 +02:00
Paul Schaub 3be7f12887
Remove SignatureValidationDateProvider 2021-05-15 20:30:21 +02:00
Paul Schaub 11b67ea6d2
Add documentation to Policy 2021-05-15 20:27:43 +02:00
Paul Schaub 225bc78ee1
Implement signature verification of cleartext-signatures 2021-05-15 18:44:03 +02:00
Paul Schaub 14ff0e9cc5
ArmorUtils: Add support for messageIds 2021-05-15 16:24:01 +02:00
Paul Schaub 937ec2aa86
Add HashAlgorithm.getAlgorithmName() 2021-05-15 16:23:35 +02:00
Paul Schaub b05f6887bd Better support for Armor headers 2021-05-15 15:57:42 +02:00
Paul Schaub f2e89bae36 Remove deprecated/reserved hash algorithms and add algo names 2021-05-15 15:57:42 +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 5a56949dd7
Throw WrongPassphraseException when wrong passphrase is provided to unlock secret key 2021-05-14 13:18:34 +02:00
Paul Schaub 32e1b0c838
KeyRingBuilder: Do not info-log exception when generated key has wrong length 2021-05-12 12:56:07 +02:00
Paul Schaub 892f452da8
Print fingerprint+user-id in comment headers of Armor 2021-05-08 14:02:44 +02:00
Paul Schaub ec611d7c5f
OpenPgpV4Fingerprint: Support pretty print format 2021-05-08 14:01:42 +02:00
Paul Schaub 99be722875
Do not spaghetti 2021-05-03 14:11:59 +02:00
Paul Schaub 431a65517e
Add documentation to signature related classes 2021-05-03 13:37:47 +02:00
Paul Schaub ec85f53bb6
Incorporate feedback from @IvanPizhenko. Thanks! 2021-04-30 10:23:12 +02:00
Paul Schaub 64cc9ecca4 Proper Signature Verification 2021-04-30 09:49:19 +02:00
Paul Schaub 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
Paul Schaub 0b3511486c
Add documentation to DecryptionStream(Interface) 2021-04-25 13:34:30 +02:00
Paul Schaub 7916bf77d1
Add javadoc to enums 2021-04-25 13:28:33 +02:00
Paul Schaub 2c4a3fca6a
Introduce OpenPgpMetadata.FileInfo class for setting/getting file name, mod date, encoding... 2021-04-25 00:28:48 +02:00
Den 491ab93c41
Modified Passphrase.fromPassword() to fit Kotlin needs (#101)
* Added @Nonnull annotation to Passphrase.fromPassword()
2021-04-10 14:32:24 +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
Paul Schaub 6954c03f49
Fix checkstyle issue 2021-04-09 12:05:46 +02:00
Paul Schaub cd19f91d77 Allow specification of file name and for-your-eyes-only flag 2021-04-07 21:31:12 +02:00
Paul Schaub d082f126b3 Use more standards compliant way to determine if secret key is encrypted 2021-04-07 21:14:31 +02:00
Paul Schaub ed43d3c6a9
Fix javadoc error 2021-03-23 01:26:51 +01:00
Paul Schaub d0a162ce74 Merge branch 'parse_public_key_ring_collection_from_armored_source' 2021-03-23 01:06:37 +01:00
Paul Schaub ce0bf970d6
KeyRingReader: Fix reading PGPKeyRingCollections 2021-03-23 01:05:45 +01:00
Paul Schaub f427e3c7d0 Add documentation to SignatureSubpacket class 2021-03-21 20:15:18 +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
Paul Schaub bfbb2ba31b
Fix checkstyle error 2021-03-05 12:32:21 +01:00
Paul Schaub d5ac1301e0
Add primary key binding sigs to signing subkeys 2021-03-04 16:33:46 +01:00
Paul Schaub bfab4b60f0
Introduce parametrized tests to also test the JceImplementationFactory 2021-02-25 23:27:08 +01:00
Paul Schaub 8c041e6856
Fix equality check in CallbackBasedKeyringProtector 2021-02-25 23:11:17 +01:00
Paul Schaub e661908c5f
Fix NPE when creating SecretKeyEncryptor for key without S2K spec 2021-02-25 23:10:25 +01:00
Paul Schaub 577ee143b5
Add NotationRegistryTest 2021-02-25 19:57:18 +01:00
Ivan Pizhenko 57f7440039 Code review 2021-02-21 16:18:42 +02:00
Ivan Pizhenko e5aaebe174 issue #91 Improve class UserId 2021-02-21 15:11:09 +02:00
Paul Schaub 81393a7285
Abort decryption process at a depth of 16 nested packets 2021-02-19 21:37:54 +01:00
Paul Schaub 217609679d
Add SignatureValidationUtil and NotationRegistry classes 2021-02-19 21:22:25 +01:00
Paul Schaub ce5f8990ef
Add HashAlgorithmPolicy and SymmetricKeyAlgorithmPolicy 2021-02-19 19:51:44 +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 ea89289852
Check MDC when stream is closed 2021-02-17 21:04:05 +01:00
Paul Schaub d2a581de9b
Fix decryption of messages with Wildcard recipient
Fixes #76
2021-02-17 20:20:10 +01:00
Paul Schaub 506a8b18af
Reject NULL encryption algorithm when decrypting messages
Fixes #77
2021-02-17 20:07:54 +01:00
Paul Schaub cb7f38f003
Do no emit an uncompressed compressed-data-packet
Fixes #74
2021-02-17 19:52:30 +01:00
Paul Schaub d2202dcb0f
Retry key generation on invalid private key encoding length
Workaround for #70
2021-02-15 23:37:03 +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 10de44ebd3
Add modern key ring archetype 2021-02-11 17:10:22 +01:00
Paul Schaub fbb4061164
Switch simpleEcKeyRing over to curve25519 2021-02-11 17:10:00 +01:00
Paul Schaub 79b2d42f9c
Add support for more elliptic curves and start implementing KeyInfo class 2021-02-11 16:58:00 +01:00
Paul Schaub ebf46fa05e
Add tests for SelectUserId 2021-02-07 03:12:59 +01:00
Paul Schaub ab39f0e2f3
UserID: prevent double angle brackets around email address 2021-02-07 03:12:35 +01:00
Paul Schaub 6386579376
De-deprecate SecretKeyRingProtector for now 2021-02-07 03:10:29 +01:00
Paul Schaub 567291ac17
Rename UserIdSelectionStrategy -> SelectUserId 2021-02-03 16:38:28 +01:00