Paul Schaub
68575f9f1e
Reorganize classes in packages
...
Move ArmorUtils to org.pgpainless.ascii_armor
Move Armored*StreamFactory to org.pgpainless.ascii_armor
Move CRCingArmoredInputStreamWrapper to org.pgpainless.ascii_armor
Move SessionKey to org.pgpainless.s2k
Move RevocationAttributes to org.pgpainless.key
Move UserId to org.pgpainless.key
Move Passphrase to org.pgpainless.s2k
Move NotationRegistry to org.pgpainless.policy
2022-09-07 13:35:58 +02:00
Paul Schaub
75455f1a3c
Add OpenPgpMetadata.isCleartextSigned and use it in sop to determine if message was cleartext signed
2022-06-19 17:31:48 +02:00
Paul Schaub
64a50266f1
Test for detection of uncompressed, signed messages, and improve decryption of seip messages
2022-05-05 12:43:44 +02:00
Paul Schaub
69f84f24b6
Implement heavy duty packet inspection to figure out nature of data
2022-05-04 20:55:29 +02:00
Paul Schaub
230725f6ff
Add option to force handling of data as non-openpgp
2022-04-22 21:33:13 +02:00
Paul Schaub
46f69b9fa5
Introduce OpenPgpInputStream to distinguish between armored, binary and non-OpenPGP data
2022-04-22 20:53:44 +02:00
Paul Schaub
e8b03834cb
Annotate fromId(code) methods with Nullable and add Nonnull requireFromId(code) methods
2022-03-22 15:09:09 +01:00
Paul Schaub
1753cef10e
Simplify handling of cleartext-signed data
2022-02-23 18:45:29 +01:00
Paul Schaub
a3f9311d9a
Add some comments to messy DecryptionStreamFactory code
2022-02-19 14:48:17 +01:00
Paul Schaub
e8da3b30d8
Yet another patch for ASCII armor detection -.-
2022-02-15 14:23:03 +01:00
Paul Schaub
458b4f1f78
Fix detection of unarmored data in detached signature verification
2022-02-11 14:07:29 +01:00
Paul Schaub
ce7b69269b
Various code cleanup
2021-12-28 13:32:50 +01:00
Paul Schaub
a66b45c3d2
Further sourcing of PGPObjectFactory from ImplementationProvider
2021-12-14 15:03:45 +01:00
Paul Schaub
bff2b3fbfe
Clarify nesting depth exceeded error message
2021-12-14 13:14:56 +01:00
Paul Schaub
5108b81252
Add test to ensure PGPainless will refuse to decrypt message with incapable key
2021-12-13 12:43:08 +01:00
Paul Schaub
80e12db8b6
Prevent message decryption using non-encryption key
2021-12-13 12:27:32 +01:00
Paul Schaub
710f676dc3
Rename MAX_RECURSION_DEPTH constant to avoid confusion
2021-12-13 01:03:20 +01:00
Paul Schaub
c55fd2e552
Implement decryption with - and access of session keys
2021-12-02 12:42:02 +01:00
Paul Schaub
16e283f3a6
Fix unvalid cursor mark for large cleartext signed messages
...
Fixes #219 , #220
2021-11-24 14:51:16 +01:00
Paul Schaub
352f099d8a
Refactoring: Move signature verification stuff to consumer subpacket
2021-11-16 13:40:33 +01:00
Paul Schaub
59c9ec341e
Hide distinction between clearsigned and inline signed message verification
2021-11-02 12:12:29 +01:00
Paul Schaub
bd67d9c0fa
Rename EncryptionPurpose.STORAGE_AND_COMMUNICATION -> ANY
2021-11-02 11:30:44 +01:00
Paul Schaub
cf1881a140
Fix detection of non-armored data
2021-10-30 15:00:04 +02:00
Paul Schaub
5c3fa28946
Fix Kleopatra Interoperability
...
The cause of this issue was that we skipped the first (proper) PKESK and instead tried to decrypt
the wildcard PKESKs.
Furthermore, we had an issue in MessageInspector which read past the PKESK packets
2021-10-27 13:26:49 +02:00
Paul Schaub
963a8170da
Fix decryption of signed messages created with PGPainless < 0.2.10
2021-10-23 16:44:40 +02:00
Paul Schaub
f05be3dc30
Fix prematurely throwing of MissingPassphraseException
2021-10-19 18:13:23 +02:00
Paul Schaub
2ad917d27c
Add ConsumerOptions.setMissingKeyPassphraseStrategy()
...
This allows switching missing passphrase handling from interactive mode
(fire callbacks to prompt user for missing key passphrases) to non-interactive mode
(throw MissingPassphraseException with all keys with missing passphrase in it).
Fixes #193
2021-10-18 16:01:19 +02:00
Paul Schaub
33f516efe8
Fix detection of signed messages when verification keys are missing
...
Fixes #187 , supersedes #189
2021-10-08 14:03:12 +02:00
Paul Schaub
e390389c0a
Reuse compliance
2021-10-07 16:28:31 +02:00
Paul Schaub
76a0a6479a
Remove unused OPS methods
2021-10-03 14:12:26 +02:00
Paul Schaub
0e1d6cb5a1
Rename DetachedSignature -> DetachedSignatureCheck
2021-10-03 13:47:20 +02:00
Paul Schaub
7bc35dcba3
Add regression test for PGPUtil.getDecoderStream mistaking plaintext for base64 encoded data
2021-10-01 15:21:42 +02:00
Paul Schaub
f7a7035059
Workaround for PGPUtil accidentally mistaking plain data for base64 encoded data.
2021-10-01 15:04:37 +02:00
Paul Schaub
8ec8a55f10
Add ConsumerOptions.setIgnoreMDCErrors()
...
This method can be used to make PGPainless ignore certain MDC related errors or mishabits.
Use of this options is discouraged, but may come in handy in some situations.
Fixes #190
2021-10-01 13:54:51 +02:00
Paul Schaub
1aa6541766
Merge branch 'key_generator_rework'
2021-09-20 14:50:02 +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
90a00e0541
Move signature verification to dedicated streams
2021-09-07 14:02:07 +02:00
Paul Schaub
ba0e5eb3fe
Improve readability of DecryptionStreamFactory
2021-09-06 17:15:17 +02:00
Paul Schaub
e81ee648d8
Clean DecryptionStream: We only ever have one IntegrityProtectedInputStream at most
2021-09-06 15:14:13 +02:00
Paul Schaub
97c8ff8312
Throw WrongConsumingMethodException when processing Cleartext Signed Messages with Inband Signature verification API and vice versa
2021-08-29 13:35:27 +02:00
Paul Schaub
1124c6fd15
Wip: Configure logback logging
2021-08-26 15:03:20 +02:00
Paul Schaub
200e00990b
Remove unused class and move detached sig initialization in own method
2021-08-23 14:27:02 +02:00
Paul Schaub
829068d5a8
Switch from JUL logging to SLF4J
2021-08-23 14:20:25 +02:00
Paul Schaub
5a9b8a2c50
Verify notBefore and notAfter on any message signatures
2021-08-18 12:55:24 +02:00
Paul Schaub
099b160656
Native support for notBefore and notAfter signature creation time constraints
2021-08-17 14:47:07 +02:00
Paul Schaub
e5b15fe0c2
Use String-formatting in Logger statements
2021-08-15 15:46:41 +02:00
Paul Schaub
fb16db5db4
Improve handling of signatures with missing issuerKeyId packets
2021-07-31 22:24:39 +02:00
Paul Schaub
107e53c03e
Fully drain ArmoredInputStreams to verify CRC checksum.
...
Fixes #159 (for real this time)
2021-07-27 15:09:59 +02:00
Paul Schaub
8cf5347b52
Base PGPainlessCLI on new sop-java module
...
* Rename pgpainless-sop -> pgpainless-cli
* Introduce sop-java (implementation-independent SOP API)
* Introduce sop-java-picocli (CLI frontend for sop-java)
* Introduce pgpainless-sop (implementation of sop-java using PGPainless)
* Rework pgpainless-cli (plugs pgpainless-sop into sop-java-picocli)
2021-07-15 17:03:56 +02:00