Daniel Huigens
9bb1710a9f
Remove unused writeOldHeader function
2019-08-12 17:46:37 +02:00
Daniel Huigens
8312399f9d
Update V5 key hashing for signatures to rfc4880bis-07
2019-08-12 17:46:37 +02:00
Daniel Huigens
c8729a0295
Fix serializing GNU stripped-keys
2019-08-12 17:46:37 +02:00
Daniel Huigens
735d6d088f
Implement V5 signatures
2019-08-12 17:46:37 +02:00
Daniel Huigens
f629ddcb31
Fix reading and writing unencrypted V5 secret key packets
2019-08-12 17:46:37 +02:00
Daniel Huigens
562783df01
Fix armor checksum mismatch error message with allow_unauthenticated_stream
2019-07-19 19:06:19 +02:00
Daniel Huigens
2a5ab75fca
Decrypt message with multiple keys in parallel
...
Don't keep the entire message in memory.
This also fixes an unhandled promise rejection when the input
stream contains an error (e.g. an armor checksum mismatch).
2019-07-19 19:05:26 +02:00
Daniel Huigens
237db2c7f3
Fix armor checksum errors being ignored when not streaming
2019-07-19 19:05:26 +02:00
Ilya Chesnokov
6d626ea70c
Style fixes and new style rules for eslint ( #919 )
2019-06-28 15:33:18 +02:00
Daniel Huigens
5a17648922
Fix error message when reformatting a GNU stripped-key with a passphrase
2019-06-06 16:08:22 +02:00
Wiktor Kwapisiewicz
82799390de
Fix signatures with critical notations
...
Previously the signature parsing function ignored critical bit on
notations.
This change checks for notations that are marked "critical" but are not
on the known notations list (controlled by config array
`openpgp.config.known_notations`) and triggers parse error if such
a notation have been encountered.
See: #897 .
2019-05-16 09:57:58 +02:00
Wiktor Kwapisiewicz
16b12d7f55
Expose all signature notations
...
Previous implementation used an object to hold notations so if multiple
notations had the same key name only the last one was visible.
After this change notations are exposed as an array of key-value pairs
that can be converted to a map through `new Map(notations)`.
See #897 .
2019-05-09 12:12:22 +02:00
Daniel Huigens
ee01883a52
Merge pull request #894 from twiss/dont-throw-verification-errors-workers
...
Fix one-pass signature verification when using a Worker
2019-05-05 00:01:14 +02:00
Daniel Huigens
df8364930b
Fix one-pass signature verification when using a Worker
2019-05-03 18:40:31 +02:00
Daniel Huigens
bc756d0ed4
Make key.isDecrypted() and key.encrypt() consistent for gnu-dummy keys
2019-05-03 12:39:28 +02:00
Daniel Huigens
10e10effb6
Support GNU export-secret-subkeys extension
2019-05-03 12:39:28 +02:00
Daniel Huigens
e637e75891
Clean up ECDH API
2019-05-02 12:08:08 +02:00
Daniel Huigens
a291a803fb
Fix reading indeterminate-length packets in IE11
...
Broken in 5dcaf85 .
2019-02-25 04:41:58 +01:00
Daniel Huigens
cd6eadd6e0
Fix reading empty partial body part (again)
...
Broken in 5dcaf85 .
2019-02-25 04:34:28 +01:00
Daniel Huigens
5dcaf85f5a
Optimize reading large messages with lots of tiny partial body parts ( #864 )
...
* Fix pako decompression
* Optimize base64-decoding
* Don't stream-parse packets when not stream-reading data
2019-02-21 08:33:55 -08:00
Daniel Huigens
54fc1dde3d
Throw error before decrypting in non-MDC packets
2019-02-12 11:49:38 +01:00
Daniel Huigens
40360b4955
Fix streaming/signed encryption with config.integrity_protect=false
2019-02-12 11:49:38 +01:00
Daniel Huigens
31931c9b0d
Simplify MDC verification
2019-01-02 15:13:00 +01:00
Daniel Huigens
3f1734ae7a
Move CFB optimizations into cfb.js
...
So that uses of CFB other than sym_encrypted_integrity_protected.js
can benefit from them.
Also, implement CFB resync mode in terms of normal CFB rather than
separately (and duplicated).
2019-01-02 15:12:53 +01:00
Daniel Huigens
a891e0b4ea
Web Crypto CFB encryption
2019-01-02 15:12:48 +01:00
Sanjana Rajan
836ad2805a
Revert "Web Crypto CFB encryption"
2018-12-23 18:42:24 +01:00
Sanjana Rajan
6c02b25aa5
Merge pull request #820 from twiss/web-crypto-cfb
...
Web Crypto CFB encryption
2018-12-23 17:55:25 +01:00
Daniel Huigens
cfe7ff9bb8
Simplify MDC verification
2018-12-21 13:04:23 -05:00
Daniel Huigens
9691dc9c99
Fix getExpirationTime with capabilities and an expired signing subkey
...
When the latest subkey with the requested capabilities is expired,
and the primary key has the requested capabilities, return the
primary key expiry instead.
Also, change isExpired/isDataExpired to still return false at the
date returned by getExpirationTime, so that the latter returns the
last date that the key can still be used.
2018-12-21 12:49:22 -05:00
Daniel Huigens
668264aa9a
Move CFB optimizations into cfb.js
...
So that uses of CFB other than sym_encrypted_integrity_protected.js
can benefit from them.
Also, implement CFB resync mode in terms of normal CFB rather than
separately (and duplicated).
2018-12-20 17:50:01 -05:00
Daniel Huigens
3c10c582e2
Web Crypto CFB encryption
2018-12-20 12:27:23 -05:00
Daniel Huigens
9b83f6fcb2
Return generic error on PKESK checksum mismatch when decrypting
2018-12-17 12:27:07 -05:00
Daniel Huigens
e727097bb0
Always look at the same literal data packet in getText() and verify()
2018-12-17 12:27:05 -05:00
Daniel Huigens
8720adcf65
Check signature public key algorithm against issuer key algorithm
2018-12-17 12:27:04 -05:00
Kay Lukas
a49529d243
Handle end of stream in compression correctly
2018-12-07 11:47:52 +01:00
Daniel Huigens
997f3e8e38
Compute signed data based on expected signature type
2018-11-05 17:13:40 +01:00
Daniel Huigens
1071cb9bca
Fix cloning embedded signatures
2018-11-05 16:32:30 +01:00
Sanjana Rajan
67de70fa01
Merge pull request #798 from twiss/seek-bzip
...
Remove bzip2 compression
2018-11-05 12:58:50 +01:00
Daniel Huigens
08f48bfc2c
Switch to seek-bzip
2018-11-05 12:49:53 +01:00
Daniel Huigens
8fa3aadea2
Add and require primary key binding signatures on signing keys
...
Also, fix keyFlags of signing subkeys.
Also, store Issuer Key ID and Embedded Signature in unhashed rather
than hashed subpackets.
2018-11-05 11:47:45 +01:00
Daniel Huigens
8c97112449
Throw on critical unknown signature subpackets
2018-11-05 11:47:44 +01:00
Daniel Huigens
47138eed61
Don't trust unhashed signature subpackets
...
Also, export packet.Signature.prototype.read_sub_packets.
2018-11-05 11:47:43 +01:00
Daniel Huigens
a250ee9f91
Clean up checksum calculation
2018-11-01 14:47:22 +01:00
Daniel Huigens
7253df1632
Don't hash when comparing key fingerprints
2018-11-01 14:47:21 +01:00
Daniel Huigens
abce79b509
Use Web Crypto for hashing
2018-11-01 14:11:22 +01:00
Sanjana Rajan
3c45b6f18a
Merge pull request #793 from twiss/signature-errors
...
Check that one-pass signatures match their corresponding signature
2018-11-01 12:13:02 +01:00
Daniel Huigens
11fd2313a7
Fix unhandled promise rejection when decrypting non-MDC message
2018-11-01 11:46:43 +01:00
Daniel Huigens
d442b6bad7
Throw when signature packet does not correspond to one pass signature packet
2018-10-29 11:47:39 +01:00
Daniel Huigens
6f9670cc65
Clarify comment explaining packetlist's usage of supportsStreaming
2018-10-10 18:21:02 +02:00
Daniel Huigens
bc6118980f
Throw on parse errors in integrity protected encrypted packets
2018-10-05 12:40:05 +02:00