Daniel Huigens
4d82d25559
Pass more tests
...
We now use streams internally in more places.
2018-08-10 14:46:26 +02:00
Daniel Huigens
4e749965f2
Remove support for V3 keys and signatures
2018-08-10 14:46:26 +02:00
Daniel Huigens
eb72d4dd63
Don't use asmcrypto's streaming API when not necessary
...
Optimization for Firefox
2018-08-10 14:46:26 +02:00
Daniel Huigens
e1a8b17753
Fix literalPacket.getText()
...
We now close streams after reading them, so we can no longer use
stream.locked for a proxy for "has been read". What we want is the
internal [[disturbed]] property, but we can't access it for native
streams.
Since we always read the stream when calling getText(), it's not
an issue.
2018-08-10 14:46:25 +02:00
Daniel Huigens
55fd292fba
Fix armor errors
...
Also, fix error handling in transformPair()
2018-08-10 14:46:25 +02:00
Daniel Huigens
304cbf4783
Fix backpressure
2018-08-10 14:46:25 +02:00
Daniel Huigens
589b666ac7
Don't clone stream in packet.parse()
2018-08-10 14:46:24 +02:00
Daniel Huigens
ddda6a0b16
Implement cancellation by manually linking together input and output streams
2018-08-10 14:46:24 +02:00
Daniel Huigens
de2971d84a
Use TransformStreams
2018-08-10 14:46:24 +02:00
Daniel Huigens
51c897b073
Cancelling
2018-08-10 14:46:23 +02:00
Daniel Huigens
a6a701df7f
Streaming signing
2018-08-10 14:46:23 +02:00
Daniel Huigens
9c1c28bc59
Add option to read unauthenticated data from stream
2018-08-10 14:46:23 +02:00
Daniel Huigens
1effe19c1d
Allow simultaneously reading data and waiting for signature verification
...
This makes openpgp.{decrypt,verify}().signatures a Promise when passing a
stream or when asStream=true
2018-08-10 14:46:22 +02:00
Daniel Huigens
4bbbdaee9f
Rename stream.subarray() to stream.slice()
...
Also, support ReadableStream[String] in stream.* and reader.* functions
2018-08-10 14:46:22 +02:00
Daniel Huigens
56ec5b3a8d
Don't keep extra copies of streams in memory
2018-08-10 14:46:22 +02:00
Daniel Huigens
f79a3f718d
Fix streaming UTF8 decoding
2018-08-10 14:44:01 +02:00
Daniel Huigens
ade2627bca
Streaming verify one-pass signatures
2018-08-10 14:44:01 +02:00
Daniel Huigens
ead3ddd706
Streaming decrypt old-format packets
2018-08-10 14:44:01 +02:00
Daniel Huigens
9fcc075f0b
Streaming decrypt non-partial-length-encoded packets
2018-08-10 14:44:01 +02:00
Daniel Huigens
fb155ffae0
Streaming support on Node
2018-08-10 14:44:01 +02:00
Daniel Huigens
58eca571bf
Fix integrity_protect = false
2018-08-10 14:44:01 +02:00
Daniel Huigens
d67526338e
Streaming (de)compression (Web)
...
compressjs has a streaming API, but it is synchronous, so we can't use it
(at least in the browser).
2018-08-10 14:44:01 +02:00
Daniel Huigens
37014ecf30
Pass more tests
...
- Allow leading spaces in headers (since we were already accepting
leading spaces everywhere else in the armored text).
- Read ReadableStreams before passing them to a Worker
2018-08-10 14:44:01 +02:00
Daniel Huigens
05479e6e6b
Don't warn about await in loops
2018-08-10 14:44:01 +02:00
Daniel Huigens
db39e616ca
Replace stream.tee() with stream.clone()
...
Also some other fixes to pass more tests.
2018-08-10 14:44:01 +02:00
Daniel Huigens
3475843d82
Don't hack util.concatUint8Array() to handle Streams
...
Use util.concat() instead.
2018-08-10 14:44:01 +02:00
Daniel Huigens
16ba26c298
Streaming AEAD
2018-08-10 14:44:01 +02:00
Daniel Huigens
1f30556674
Split stream.transform into using two helper functions
2018-08-10 14:44:01 +02:00
Daniel Huigens
4ada3fa590
Don't mutate prototypes of Uint8Array, ReadableStream and ReadableStreamDefaultWriter
2018-08-10 14:44:01 +02:00
Daniel Huigens
70f0e1d2f5
Finish streaming armoring
2018-08-10 14:44:01 +02:00
Daniel Huigens
0af4742a14
Signatures
2018-08-10 14:44:01 +02:00
Daniel Huigens
0372bf78f1
Make (de)armoring and packet reading asynchronous
2018-08-10 14:44:01 +02:00
Daniel Huigens
403bdc5346
Streaming decryption (Web)
2018-08-10 14:44:01 +02:00
Daniel Huigens
b4f5976242
Writing partial lengths
2018-08-10 14:44:01 +02:00
Daniel Huigens
9853d3d830
Streaming encryption (Web)
2018-08-10 14:44:01 +02:00
Daniel Huigens
9302fdcc56
Don't cache literal.getBytes() when signing with textMode=false
...
This partially reverts bcfb9c0.
2018-08-10 14:44:01 +02:00
Sanjana Rajan
adb0148ca1
fix #748 , signature cloning in verification objects
2018-07-30 15:32:17 +03:00
Wiktor Kwapisiewicz
19e3c344fd
Fix verification of User Attributes
...
This change corrects verification of certifications over User Attributes
(such as photos).
Before this change the code did not differentiate between User IDs and
User Attributes as both of them were stored in `data.userid` [0] and
incorrectly used the User ID constant (0xB4) for both cases.
This change fixes the bug by storing User IDs in `userId` property and
User Attributes in `userAttribute` property. The check for property
existence has been modified to avoid comparisons with `undefined` as the
`User` class sets `null` for not assigned packets instead of
`undefined`.
Only data structures for signing and verification were modified and not
the properties used in the `User` class.
[0]: 11b2d2de3c/src/key.js (L872)
2018-07-24 13:03:46 +02:00
Daniel Huigens
91b7165b78
Add key/subKey.getKeyId, getFingerprint, getAlgorithmInfo, getCreationTime, isDecrypted
2018-07-19 15:03:25 +02:00
Wiktor Kwapisiewicz
0099c373d2
Fix reading signersUserId packet in signatures
...
This bug caused all signersUserIds strings to be prefixed with `"null"`
string. Changed to use only the last value for this packet type.
Previous implementation probably assumed that there will be more than one
signersUserId packet but I haven't been able to generate such signature
using gpg (only last user id was embedded). Moreover signature
serialization function `write_all_sub_packets` writes only one value of
this packet as a UTF-8 string.
2018-06-27 12:17:19 +02:00
Sanjana Rajan
bcfb9c037a
fix case with binary signatures on text data
2018-05-22 14:58:13 -07:00
Sanjana Rajan
33d5b158f8
fix #706 - if ignore_mdc_error is set to false then MDC is required for all symmetrically encrypted data
2018-05-15 00:04:58 -07:00
Sanjana Rajan
4926667cf9
Merge pull request #694 from twiss/eslint-cleanup
...
Remove some ESLint silencers
2018-05-03 08:05:57 -07:00
Daniel Huigens
4afaae13ca
Remove unused variables
2018-05-03 13:07:52 +02:00
Daniel Huigens
95b9e5188a
Remove some ESLint silencers
2018-05-01 17:36:15 +02:00
Daniel Huigens
6c2fec3450
Parse user IDs
...
Also, support comments when creating user IDs
2018-05-01 13:39:23 +02:00
Daniel Huigens
a7fce27424
Safari 8 compatibility
2018-04-30 16:58:37 +02:00
Daniel Huigens
04651e359a
Rename enums.aead.gcm to experimental_gcm
...
So that (1) if the spec ever defines GCM differently than we do, we have a
clean upgrade path and (2) it makes it clear that it's experimental.
2018-04-30 15:55:37 +02:00
Daniel Huigens
bbf71d149b
Deduplicate OCB encrypt / decrypt
2018-04-30 15:55:37 +02:00
Daniel Huigens
e8adeef278
Implement Issuer Fingerprint subpacket
2018-04-30 15:55:37 +02:00