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
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