Daniel Huigens
7ce3f5521f
Set default draft version to 4
2018-04-30 15:55:38 +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
310d8dd9b9
Fix V5 key fingerprint in ECDH parameters
2018-04-30 15:55:36 +02:00
Daniel Huigens
0376f49e01
Deduplicate getPreferredSymAlgo / getPreferredAEADAlgo
2018-04-30 15:55:35 +02:00
Daniel Huigens
4568d080d5
Fix decryption with multiple chunks
2018-04-30 15:55:34 +02:00
Daniel Huigens
343c64eca0
Add tests for signing and verifying messages with trailing spaces
2018-04-30 15:55:33 +02:00
Daniel Huigens
e061df113c
Implement GCM mode in the new draft
...
Also, implement additional data for GCM
2018-04-30 15:55:31 +02:00
Daniel Huigens
51d7860622
Native CMAC
2018-04-27 14:06:19 +02:00
Daniel Huigens
6f2abdc2cf
Implement MIME message type (Literal Data Packet format 'm')
2018-04-27 14:06:19 +02:00
Daniel Huigens
2f849063f9
Allow reusing EAX/OCB instances with the same key
...
This is useful for chunked encryption in draft04
2018-04-27 14:06:19 +02:00
Daniel Huigens
e24b46192d
Only AEAD-protect when target keys support it
2018-04-27 14:06:18 +02:00
Daniel Huigens
e44fbbccab
Add more OCB tests
2018-04-27 14:06:18 +02:00
Daniel Huigens
28dbbadcff
Add config.aead_protect_version option
2018-04-27 14:06:17 +02:00
Daniel Huigens
997ec1c8db
Add AEAD feature flags
2018-04-27 14:06:17 +02:00
Daniel Huigens
f225f994ec
Add AEAD-OCB test vector
2018-04-27 14:06:16 +02:00
Daniel Huigens
5f97a8c937
Implement preferred AEAD algorithms
2018-04-27 14:06:16 +02:00
Daniel Huigens
c6ba83c4a3
Allow configuring openpgp in unit tests using query params (e.g. ?debug=true&use_native=false)
2018-04-27 14:06:15 +02:00
Daniel Huigens
ba2b761da4
Implement OCB mode
2018-04-27 14:06:15 +02:00
Daniel Huigens
5f891d28d6
Switch cipher/aes.js to Uint8Arrays
2018-04-27 14:06:14 +02:00
Daniel Huigens
c2f898279b
Implement version 5 Secret-Key Packet Format
2018-04-27 14:06:14 +02:00
Daniel Huigens
7c3bbe9278
Don't auto-scroll unit tests if you scrolled up
2018-04-27 14:06:13 +02:00
Daniel Huigens
17ad654d60
Implement version 5 Symmetric-Key Encrypted Session Key packet
2018-04-27 14:06:13 +02:00
Daniel Huigens
7b3f51c0d4
Implement AEAD Encrypted Data Packet
2018-04-25 20:12:10 +02:00
Daniel Huigens
85a1b9859b
Implement EAX mode
2018-04-25 20:12:10 +02:00
Daniel Huigens
c63ed980a1
Fix dash-escaping the first line of cleartext signed messages
2018-04-25 19:46:43 +02:00
Daniel Huigens
122d526f49
Only consider most recent subkey binding signature
...
This partially reverts 2bda127
.
2018-04-18 14:40:06 +02:00
Sanjana Rajan
e4bd27ce2f
tests
2018-04-16 10:51:07 -07:00
Sanjana Rajan
8778490061
tests
2018-03-22 16:11:39 -07:00
Sanjana Rajan
2f351985c4
tests
2018-03-19 18:55:30 -07:00
Sanjana Rajan
401edab455
add brainpool gpg compatibility tests
2018-03-18 22:36:36 -07:00
Mahrud Sayrafi
944dece506
Adds Brainpool Curves + tests + docs
2018-03-18 10:12:29 -07:00
Sanjana Rajan
75cd4e5e6f
some fixes, add expired key test
2018-03-17 07:32:56 -07:00
Sanjana Rajan
38508b33d1
if primary key is invalid, so are subkeys
2018-03-12 23:23:03 +01:00
Sanjana Rajan
a94ca90653
add test for key revoked with cert, no revoked subkeys
2018-03-12 23:16:41 +01:00
Mahrud Sayrafi
6fefe22c09
Finished fixing key.js; fixes async tests
2018-03-08 10:01:55 +01:00
Mahrud Sayrafi
0b2817ba39
Last little things become async ...
2018-03-08 10:01:55 +01:00
Mahrud Sayrafi
47006069d1
Added test for encryption with revoked subkey
2018-03-08 10:01:54 +01:00
Mahrud Sayrafi
73a240df6c
Simplifies (Key|User|SubKey).isRevoked, API changes in key.js
...
For User s/revocationCertifications/revocationSignatures/g
For Key/SubKey s/revocationSignature/revocationSignatures/g is now an array.
2018-03-08 10:01:54 +01:00
Mahrud Sayrafi
ec22dabac3
Slightly simplifies key.js; adds key.verifyKeyPackets which should be run before getEncryption/SigningKeyPacket
2018-03-08 10:01:54 +01:00
Bart Butler
2bb5db2cf4
multiple web workers
2018-03-05 21:36:53 -08:00
Bart Butler
572abadc91
random number web worker buffer automatic refill
2018-03-05 17:57:35 -08:00
Bart Butler
433ae5cce7
remove extraneous file
2018-03-05 16:32:16 -08:00
Bart Butler
f57888fe55
change all calls of getRandomBytes and getRandomBN to be async
2018-03-05 16:31:56 -08:00
Bart Butler
b088f005da
simplify random.js
2018-03-05 12:18:04 -08:00
Bart Butler
20a0e76998
Merge branch 'master' of github.com:openpgpjs/openpgpjs
2018-03-01 11:55:17 -08:00
Bart Butler
5564b67cc8
remove readSignedContent in favor of appendSignature
2018-03-01 11:55:09 -08:00
Mahrud Sayrafi
30bd6102d5
OID's stored as Uint8Array
2018-03-01 11:35:16 -08:00
Mahrud Sayrafi
5e857e131e
Bugfix in Native ECC in Node
2018-03-01 01:28:03 -08:00
Mahrud Sayrafi
9e1236c04c
Modernizes util.js
2018-02-28 15:49:41 -08:00
Mahrud Sayrafi
7eef65926a
Simplifies elliptic/curve.js
2018-02-28 00:58:50 -08:00
Mahrud Sayrafi
ecc38d0c6e
Adds worker tests for NIST P-256 and X25519
2018-02-27 16:40:28 -08:00
Mahrud Sayrafi
f04273cd8d
Merge branch 'master' into feat/asmcrypto
2018-02-27 14:57:34 -08:00
Mahrud Sayrafi
3df0997f4d
Cleanups
2018-02-26 20:01:01 -05:00
Bart Butler
0186ca8a24
tree shake sinon to just get what we need
2018-02-26 14:45:05 -08:00
Mahrud Sayrafi
2e95335825
millerRabin set to 40 iterations; doc fixes
2018-02-25 09:30:19 -05:00
Mahrud Sayrafi
3b912d2fae
Cleaning mpi.js; TODO: store MPI.data as Uint8Array instead of BN
...
Also improved asynchronousity in packet tests
2018-02-22 14:51:57 -08:00
Mahrud Sayrafi
d40e8fe428
Use asmcrypto.js directly + quickfix
2018-02-22 11:51:21 -08:00
Mahrud Sayrafi
1812166a53
RSA using asmcrypto with asmcrypto bignum
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
605021af3b
Various quickfixes and cleanups
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
e1d85ba682
ElGamal and MPI use bn.js; TODO: RSA Key Generation
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
490b1dc0f0
ECDH, ECDSA, EdDSA are all on BN.js; TODO: ElGamal & type_mpi
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
2f3c0a86e9
DSA uses BN.js
...
added toBN for type_mpi
2018-02-22 00:37:41 -08:00
Mahrud Sayrafi
aee8974ef5
RSA signatures now use asmcrypto.js; various fixes and tweaks
2018-02-22 00:37:41 -08:00
Bart Butler
e939d9b1ab
Merge pull request #647 from KAYLukas/feat/time-param
...
Add a date parameter to the sign/verify/encrypt/decrypt functions
2018-02-21 16:58:17 -08:00
KAYLukas
56ad9a00e0
Fix testcases
2018-02-21 22:32:09 +01:00
KAYLukas
6b4d44dbb1
Fix browser tests
2018-02-19 22:12:24 +01:00
KAYLukas
071fc35f38
Check created time to be valid and discard milliseconds from date objects
2018-02-17 11:28:04 +01:00
Bart Butler
f803b17859
remove time limit from loading x25519 private keys
2018-02-16 08:46:26 -08:00
KAYLukas
6ca8bc2180
Add timeparameter for verification and remove verify_expired_keys
2018-02-16 17:20:48 +01:00
KAYLukas
7e66ea20db
Add timeparameter to signing and encryption
2018-02-16 17:20:48 +01:00
Bart Butler
be7973b904
add polyfills for test bundle
2018-02-15 21:28:26 -08:00
Bart Butler
79d2e9d6bf
fix skipped asmCrypto test
2018-02-15 15:33:46 -08:00
Bart Butler
7e1731f2bb
remove excess compression testing, fix cleartext signing with multiple keys test
2018-02-14 15:19:52 -08:00
Bart Butler
fa2672fcc1
Merge pull request #642 from mmso/feat/bzip2
...
Fix #607 - Add support for bzip2 de/compression
2018-02-14 11:00:56 -08:00
Sanjana Rajan
b5d19b6f8d
pull out common signature code
2018-02-14 19:00:13 +01:00
Sanjana Rajan
2ffd81553d
test multiple private key signing cleartext
2018-02-14 17:30:35 +01:00
mmso
8808fdb8ed
Fix #607 - Add support for bzip2 de/compression
2018-02-14 14:14:07 +01:00
BafS
b672f1936a
Use let and const ES6 features.
...
Remove var, for let or const if possible, clean some syntax, enforce one var per declaration and semicolons
2018-02-13 23:33:09 +01:00
BafS
de6ffc2f76
Remove 'user strict'
...
'use strict' is unnecessary inside modules because module code is always strict mode code. Ref: https://www.ecma-international.org/ecma-262/6.0/#sec-strict-mode-code
2018-02-13 23:33:09 +01:00
mmso
2a504e4e1a
Disable spy call expecations on the web worker
2018-02-13 17:21:20 +01:00
mmso
9f7466ef45
Add compression support for the encrypt function
2018-02-13 15:08:41 +01:00
Sanjana Rajan
62015c2c8d
useWildcard -> wildcard
2018-02-12 19:31:47 +01:00
Sanjana Rajan
989ad5077e
cleanup, docs
2018-02-12 13:40:23 +01:00
Sanjana Rajan
417af8c6bc
tests
2018-02-12 09:47:51 +01:00
Sanjana Rajan
d5022a3a4a
rename vars in old tests
2018-02-12 09:47:51 +01:00
Sanjana Rajan
85f115f889
tests
2018-02-09 16:18:46 +01:00
Bart Butler
7bd78585fd
Merge pull request #629 from dkg/http-to-https
...
move from http to https where possible.
2018-02-08 13:36:14 -08:00
Mahrud Sayrafi
d851398b0c
Merge branch 'master' into http-to-https
2018-02-08 10:56:46 -08:00
Mahrud Sayrafi
0ebe0972e7
Merge branch 'master' into speling
2018-02-08 10:46:42 -08:00
Bart Butler
aa476b4905
Merge pull request #537 from nauadratti/patch-1
...
Allow punycode encoded TLDs in email
2018-02-07 23:26:18 -08:00
Bart Butler
0f4d81bf2c
add test for signing with multiple keys, align signature packet order with high-level API private key order
2018-02-07 18:16:54 -08:00
Bart Butler
602bbb707d
rename decryptSessionKey to decryptSessionKeys, return only unique session keys
2018-02-06 21:25:49 -08:00
Bart Butler
210ec26ed3
fix sporadic two password decryption failure
2018-02-06 16:43:51 -08:00
Bart Butler
bdf1ce8d64
add some more polyfills for old browsers
2018-02-06 10:56:29 -08:00
Bart Butler
89f86d83d5
fix obsolete browser tests, add some polyfills
2018-02-05 22:17:41 -08:00
Bart Butler
ac440b9ae6
use ES6 polyfill for worker and tests, not in openpgp.js
2018-02-05 14:21:35 -08:00
Mahrud Sayrafi
37eec2bde2
Added Ed25519 Test Vectors from RFC8032
2018-02-04 02:44:05 -08:00
Mahrud Sayrafi
115d1c0949
A better patch for EdDSA truncation issue.
...
The last test in test/general/x25519.js is commented, as it seems to defy logic.
Yet it can be successfully imported by GPG2. TODO: How?
2018-02-03 14:36:20 -08:00
Mahrud Sayrafi
3370eaa2aa
Expands truncated little-endian parameters in EdDSA
2018-02-02 05:42:54 -08:00
Bart Butler
9e6005ee39
auto-scroll browser unit tests
2018-02-01 10:34:48 -08:00
Daniel Kahn Gillmor
1799107aac
Fix typos
...
This patch contains several trivial/inconsequential orthographic
fixes.
2018-02-01 10:03:41 -05:00
Daniel Kahn Gillmor
4da28fcc29
move from http to https where possible.
...
There are dozens of links in the OpenPGP.js codebase that are http but
could be replaced with https links. I've converted as many of them as
i could find.
2018-02-01 09:58:06 -05:00
Sanjana Rajan
41f1e697b5
remove isValid
2018-02-01 13:41:19 +01:00
Bart Butler
76d7fac967
eliminate openpgp_browser.js
2018-01-31 19:27:00 -08:00
Mahrud Sayrafi
a4134b9f55
Addresses various review comments by @bartbutler + some cleanups
2018-01-31 17:52:38 -08:00
Mahrud Sayrafi
d97bc064ea
Cleanups and doc fixes
2018-01-31 12:24:21 -08:00
Mahrud Sayrafi
aba8a7a647
Switches to asmcrypto-lite for AES
2018-01-30 18:36:38 +01:00
Mahrud Sayrafi
2d1a1130d7
Fixes bug in isRevoked, removes isValidSelfCertificate, adds verifyCertificate
2018-01-30 18:36:38 +01:00
Mahrud Sayrafi
d02b9c7bf0
Fixes problems with user certificate verification.
...
TODO: if using lower level functions, key.verifyPrimaryUser() MUST be
called and resolved before calling key.getSigning/EncryptionKeyPacket(),
key.getPrimaryUser(), etc.
Also: adds a flag to allow verification with expired keys from:
(cherry picked from commit b9d175d998
)
(cherry picked from commit 50940b2a1e
)
2018-01-30 18:36:37 +01:00
Mahrud Sayrafi
5cb89f4f25
Addresses various review comments by @sanjanarajan
...
* Various FIXME tags are removed
* In curve.js:
- webCrypto/nodeCrypto fallback bug is fixed
- Curve25519 has keyType ecdsa (won't be used for signing, but technically can be)
- webGenKeyPair is simplifed
* In base64.js:
- documentation added and arguments simplified
* In ecdsa.js and eddsa.js:
- hash_algo is now at least as strong as the default curve hash
- simplified the code by moving webSign/nodeSign and webVerify/nodeVerify to live in key.js (ht @ismaelbej)
* In message.js:
- in decryptSessionKey, loops break once a key packet is decrypted
* In key.js:
- getPreferredHashAlgorithm returns the best hash algorithm
- enums are used for curve selection
2018-01-30 18:36:26 +01:00
Mahrud Sayrafi
3129e7c4e3
Adds X25519 tests and updates README.md
2018-01-30 18:35:29 +01:00
Mahrud Sayrafi
e6820d7b2a
Passing all tests, on Node, Firefox, and Chrome
2018-01-30 18:34:28 +01:00
Mahrud Sayrafi
dcff16d32b
npm test and grunt browsertest can run side by side now; npm tests pass, browser stuck on problem related to asn1.js
2018-01-30 18:34:07 +01:00
Mahrud Sayrafi
21ae66c604
encrypt/decrypt/sign/verify will always return promises
...
Note: publicKeyEncryptedSessionKey uses promises, symEncryptedSessionKey does not
2018-01-30 18:33:55 +01:00
Mahrud Sayrafi
1a714cec73
ECC with async/await is 'Done, without errors.'
2018-01-30 18:33:55 +01:00
Mahrud Sayrafi
12eb037ba7
Everything in test/crypto/elliptic.js passes; working on test/general/ecc.js
2018-01-30 18:31:39 +01:00
Sanjana Rajan
86e15dbd0a
aes kw update
2018-01-30 18:30:16 +01:00
Sanjana Rajan
26de17150c
use internal aes encrypt in key wrap, start refactoring aes to do decryption as well
2018-01-30 18:30:16 +01:00
Sanjana Rajan
b40408d42f
standardize packet reading code, make pkcs5 function names same as pkcs1
2018-01-30 18:30:16 +01:00
Sanjana Rajan
b718cf359d
simplify packet parsing using type maps
2018-01-30 18:30:16 +01:00
Sanjana Rajan
cdc7004b96
refactor mpi, generalize mpi to params to account for non-mpi algorithm-specific data
2018-01-30 18:30:15 +01:00
Sanjana Rajan
3b8cea67a2
some style fixes, update tests
2018-01-30 18:30:15 +01:00
Ismael Bejarano
a5d9e6d09e
Generation of keys for elliptic curves
2018-01-30 18:30:14 +01:00
Ismael Bejarano
075d7f8e0e
Encrypt, decrypt, sign and verify with elliptic curve certificates
2018-01-30 18:30:14 +01:00
Ismael Bejarano
585a2bd69d
Functions to encrypt and decrypt ECDH keys
2018-01-30 18:30:14 +01:00
Ismael Bejarano
ba2f49234e
Signature creation and verification
2018-01-30 18:30:14 +01:00
Ismael Bejarano
a8e8271185
Support functions for Elliptic Curve Cryptography
2018-01-30 18:30:13 +01:00
Ismael Bejarano
54b79be0b0
Add and remove PKCS5 padding
2018-01-30 18:30:13 +01:00
Ismael Bejarano
2f69d22130
Key Wrap and Unwrap from RFC 3394
2018-01-30 18:30:13 +01:00
Ismael Bejarano
01be192a35
Object identifier type
2018-01-30 18:30:13 +01:00
Sanjana Rajan
b9d175d998
tests
2018-01-17 19:36:51 +01:00
Bart Butler
3d2c0d784e
add null string test
2017-12-22 22:17:36 -08:00
Bart Butler
1682787152
deal with empty encrypted data correctly
2017-12-22 13:26:53 -08:00
Bart Butler
81a59b76b1
do not echo data back to caller for detached signing
2017-12-05 11:44:01 -08:00
Sanjana Rajan
6189cd4568
returnSessionKey flag in encrypt function
2017-12-02 11:04:29 -08:00
Sanjana Rajan
f0d65780ad
wording
2017-12-01 21:30:19 -08:00
Sanjana Rajan
7e03410bc9
allow sessionKey param in top level encrypt
2017-12-01 21:25:43 -08:00
Bart Butler
6c707057d5
webCrypto in webkit needs 2048 bits minimum for keygen
2017-11-28 11:26:52 -08:00
Bart Butler
318d86e5e9
do not use arrow syntax for tests (old node/browser versions)
2017-11-28 10:18:26 -08:00
Sanjana Rajan
a724649f30
fix assert is not defined issue
2017-11-27 22:17:13 -08:00
Sanjana Rajan
e2c15fe558
don't use done inside promises
2017-11-27 22:17:13 -08:00
Bart Butler
7a9c3b0ddd
remove stack trace concatenation (non-standard), modify error message only
2017-11-27 19:06:25 -08:00
Bart Butler
49695ff50c
Error object cannot be used with structured clone, pass stack
2017-11-27 15:44:04 -08:00
Bart Butler
2a9a1b4846
Merge pull request #606 from FlowCrypt/issue_602_reformatkey_error
...
reformatKey: Key not decrypted error + test | #602
2017-11-27 13:22:17 -08:00
Bart Butler
f666e400fa
Merge pull request #605 from FlowCrypt/issue_598_armor_headers
...
improve armor header validation + tests | #598
2017-11-27 13:21:42 -08:00
Justin Chase
589fbb19d6
Added a test to verify error message
2017-11-25 12:24:53 -06:00
Tom James Holub
d0d0874268
reformatKey: Key not decrypted error | #602
2017-11-25 12:24:44 +08:00
Tom James Holub
4495df0f42
improve armor header validation + tests | #598
2017-11-25 10:57:41 +08:00
Justin Chase
15e39a51b0
Minor whitespace changes
2017-11-24 19:56:15 -06:00
Justin Chase
f4cf6d7382
Remove lambda in test
2017-11-24 17:54:44 -06:00