Commit Graph

1167 Commits

Author SHA1 Message Date
Bart Butler
1d82046bb8 revert to Chrome 38 2018-02-05 16:05:39 -08:00
Bart Butler
d6cc82027e add extendedDebugging correctly 2018-02-05 15:46:18 -08:00
Bart Butler
0b198b5b08 add extendedDebugging to saucelabs tests 2018-02-05 15:03:01 -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
Mahrud Sayrafi
9cbfbf453b
Added contingency for when browser does not support NIST curves 2018-02-01 14:31:17 -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
Sanjana Rajan
5a6e65c00f verification when decoding pkcs5 2018-02-01 13:14:26 +01:00
Bart Butler
40a8c54342 exclude jwk-to-pem 2018-01-31 19:38:07 -08:00
Bart Butler
76d7fac967 eliminate openpgp_browser.js 2018-01-31 19:27:00 -08:00
Bart Butler
496a45a97c
Update eddsa.js 2018-01-31 19:04:26 -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
be2c605e5b Improves secret key encryption/decryption performance by 35% 2018-01-30 18:36:38 +01:00
Mahrud Sayrafi
bf00fbd3ea added ECC curve options to docs 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
Sanjana Rajan
fa5805eaf7 don't assume all mpi type for encsessionkey 2018-01-30 18:36:26 +01:00
Sanjana Rajan
a173a63b16 doc fixes 2018-01-30 18:36:26 +01:00
Sanjana Rajan
3ce6309788 cleanup 2018-01-30 18:36:26 +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
3e1d9c4d0d Fixes ECDH with Curve25519 and key import/export problems 2018-01-30 18:35:06 +01:00
Mahrud Sayrafi
35f18444b0 keygen and sign/verify with ed25519 works 2018-01-30 18:34:54 +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
Mahrud Sayrafi
11a2d0070b ESLint is happy! 2018-01-30 18:31:30 +01:00
Mahrud Sayrafi
370a15e2a1 Remove jshint/jscs and fix babelify
(cherry picked from commit e4b810fe412bd5e383507668ef2d60320c31b1ca)
2018-01-30 18:31:18 +01:00
Mahrud Sayrafi
6886cd648a elliptic/curves.js uses native code for genkey and sign/verify; sign/verify use async/await 2018-01-30 18:31:07 +01:00
Sanjana Rajan
c443988ec4 restore package.json 2018-01-30 18:30:31 +01:00
Sanjana Rajan
8794446a66 change some variable names, add some curve parameters 2018-01-30 18:30:17 +01:00
Sanjana Rajan
311d288bb7 clone processing 2018-01-30 18:30:16 +01:00
Sanjana Rajan
86e15dbd0a aes kw update 2018-01-30 18:30:16 +01:00
Sanjana Rajan
f8bfde7447 comments, docs 2018-01-30 18:30:16 +01:00
Sanjana Rajan
cbe61e6feb key expansion for aes decryption keys, aesdecrypt function 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
840c0229f8 move hex2Uint8array to utils 2018-01-30 18:30:15 +01:00
Sanjana Rajan
fade832619 remove material parameter for now 2018-01-30 18:30:15 +01:00
Sanjana Rajan
0de9eecdc8 distinguish between key and subkey type, when refactoring key just grab type from packets 2018-01-30 18:30:15 +01:00
Sanjana Rajan
3b8cea67a2 some style fixes, update tests 2018-01-30 18:30:15 +01:00