Commit Graph

264 Commits

Author SHA1 Message Date
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
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
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
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
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
Mahrud Sayrafi
a4134b9f55
Addresses various review comments by @bartbutler + some cleanups 2018-01-31 17:52:38 -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
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
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
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