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
Sanjana Rajan
5a6e65c00f
verification when decoding pkcs5
2018-02-01 13:14:26 +01: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
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
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
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
Sanjana Rajan
fdcfcf3a54
refactor formatUserIds
2018-01-30 18:30:15 +01:00
Ismael Bejarano
f87e759cb0
Create key from provided material
2018-01-30 18:30:14 +01:00
Ismael Bejarano
a5d9e6d09e
Generation of keys for elliptic curves
2018-01-30 18:30:14 +01:00
Ismael Bejarano
38a53c1bb1
Parse and create ECDH packets
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
673151ec87
Read and write ECDSA packets
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
26c6ab9b97
Parameters for the ECDH key derivation function
2018-01-30 18:30:13 +01:00
Ismael Bejarano
d8b1e3359a
Result of wrapping a session key for ECDH key
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
Sanjana Rajan
50940b2a1e
flag to allow verification with expired keys
2018-01-17 18:37:25 +01: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
135bd3d46a
doc update
2017-12-02 11:48:14 -08:00
Sanjana Rajan
0e254a8c8c
simplify
2017-12-02 11:17:39 -08:00
Sanjana Rajan
6189cd4568
returnSessionKey flag in encrypt function
2017-12-02 11:04:29 -08:00
Sanjana Rajan
7e03410bc9
allow sessionKey param in top level encrypt
2017-12-01 21:25:43 -08:00
Bart Butler
59d99fc0c7
do not replace stack in async_proxy, add as workerStack
2017-11-28 10:25:16 -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
617c1c9ee9
include error message in stack trace for Safari/Firefox
2017-11-27 16:50:18 -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
a5a913419b
Also concat stacks
2017-11-25 10:45:58 -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
567d212204
Dont join stacks
2017-11-24 16:16:42 -06:00
Justin Chase
bf6c2b9319
Added a test verifying innerError
2017-11-24 16:12:37 -06:00
Bart Butler
58031cfaca
add openpgp.key.read() function for unarmored serialized keys
2017-11-06 13:42:07 -08:00
Andrius Laurinėnas
1d287cd9a9
Add a console error when numBits param too low
2017-10-13 19:50:48 +03:00
Sanjana Rajan
9893d602e2
account for non-cleartext sign/verify message parameters
2017-10-09 17:27:02 -07:00
Sanjana Rajan
b756d35b8f
use hash param in rsa key gen with webkit subtle
2017-09-20 18:28:37 +02:00
Thomas Oberndörfer
e3eb298ab7
Set keyExpirationTime for subkey binding signature
2017-08-30 16:09:53 +02:00
Bart Butler
ad029f1929
Update armor.js
...
Only console.log if debug mode on
2017-08-19 10:52:36 -07:00
Bart Butler
1e8bd4315b
Update armor.js
...
Small tweak
2017-08-19 10:49:36 -07:00
Patrick Brunschwig
93d823abb4
Fix for issue 573: don't throw with unknown Armor Headers, but just
...
with invalid ones
2017-08-19 18:32:02 +02:00
Tom James Holub
ce9dee9370
util.readNumber: stop overflowing until full range of uint32 | #497
2017-07-22 09:26:30 -07:00
Tom James Holub
2bda12731b
subKey.bindingSignature -> subKey.bindingSignatures[] - process all | #527
2017-07-21 21:38:33 -07:00
Tom James Holub
3f40a36081
do not remove equal sign at the end of armored body when missing checksum
2017-07-21 17:39:19 -07:00
Tom James Holub
ac055d69d2
fixed outdated annotations in armor.js
2017-07-21 15:39:06 -07:00
Tom James Holub
841b03d6cd
improved armor behavior - trailing newline
2017-07-21 15:35:27 -07:00
Tom James Holub
c27725782c
do not fail when missing armor checksum | #563
2017-07-21 10:13:33 -07:00
Bart Butler
d737f65ccc
Merge pull request #559 from openpgpjs/sign_byte_arrays
...
Sign Uint8 arrays
2017-07-12 19:45:53 -07:00
Sanjana Rajan
e53cbe8417
remove extra spaces
2017-07-08 13:26:20 +02:00
Sanjana Rajan
95c5e3af01
use message obj when signing uint8 array
2017-07-08 13:25:24 +02:00
Bart Butler
d33c46a33c
minor bugfix
2017-07-06 15:27:45 -07:00
Sanjana Rajan
d061af1fc3
style fixes
2017-07-06 16:29:25 +02:00
Sanjana Rajan
a9bb3f1839
armor based on text vs. bytes
2017-07-04 16:47:23 -07:00
Sanjana Rajan
28e5f5d3f4
allow cleartext msg data to be string or byte array
2017-07-04 14:15:39 -07:00
Sanjana Rajan
a7702a74d3
support split checksum where body and checksum are on the same line
2017-06-27 16:41:53 -07:00
Bart Butler
ddf6eb5783
change URL to https
2017-04-25 14:09:31 +02:00
Abhishek Hingnikar
472294ec84
Fix documentation
...
The storeHandler seems to need loadPublic, loadPrivate, storePublic, storePrivate methods but the current documentation only mentions load and store.
2017-04-08 16:12:47 +05:30
Kévin Bernard-Allies
342bc8fe01
Simplify code of CRC24 checksum in armor encoding
2017-04-06 13:12:45 +02:00
Sanjana Rajan
c3958b0270
tolerant default to true
2017-04-05 16:36:29 -07:00
Sanjana Rajan
b51b8ad341
add tolerant mode which suppresses errors in reading non-data packets
2017-04-05 07:54:08 -07:00
nauadratti
3673e21a77
Allow punycode encoded TLDs in email
...
Closes #500
2017-03-30 19:05:22 +00:00
Bart Butler
5fb23ac833
use web worker for reformatKey
2017-03-29 16:27:16 -07:00
Bart Butler
a1ff93f1fc
not all platforms implement TypedArray.slice
2017-03-28 11:44:04 -07:00