Daniel Huigens
627a6ef46e
Only calculate AES key schedules once in cipher/aes.js
2018-04-27 14:06:15 +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
cc4cc38fe7
Add util.print_debug_hexarray_dump
2018-04-27 14:06:15 +02:00
Daniel Huigens
f40489aa43
Implement getLeftNBits, shiftLeft and shiftRight for Uint8Arrays
2018-04-27 14:06:14 +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
5d43b44e50
Log swallowed errors in debug mode
2018-04-27 14:06:14 +02:00
Daniel Huigens
17ad654d60
Implement version 5 Symmetric-Key Encrypted Session Key packet
2018-04-27 14:06:13 +02:00
Sanjana Rajan
92542e3ee4
fix #636
2018-04-26 13:19:02 -07: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
Sanjana Rajan
ce973be6ba
Merge pull request #685 from twiss/workers-random
...
Use crypto.getRandomValues in Workers
2018-04-23 12:42:49 -07:00
Sanjana Rajan
6b2514f587
Merge pull request #687 from twiss/use-recent-binding
...
Only use the most recent self-signature
2018-04-23 12:42:36 -07:00
Daniel Huigens
ceec57672e
Use most recent primary user
2018-04-23 14:17:09 +02:00
Daniel Huigens
bfc047da36
Don't request randomness from main thread in workers by default
2018-04-19 14:25:13 +02:00
KAYLukas
187cc6b05a
Support compression in the WebWorker
2018-04-18 18:08:36 +02:00
Daniel Huigens
39c7374d70
Only consider most recent user self certification
2018-04-18 14:40:07 +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
c28f7ad4d7
always remove trailing whitespace from lines when canonicalizing
2018-04-17 08:41:52 -07:00
Daniel Huigens
20a9bccb41
Use crypto.getRandomValues in Workers
2018-04-17 14:01:42 +02:00
Sanjana Rajan
2de426e0bc
Merge pull request #683 from openpgpjs/generate_key_refactor
...
More generateKey options
2018-04-16 14:13:13 -07:00
Sanjana Rajan
2bd540026f
add multiple passphrase options to key encrypt and decrypt
2018-04-16 12:52:17 -07:00
Sanjana Rajan
e4bd27ce2f
tests
2018-04-16 10:51:07 -07:00
KAYLukas
d0ed5134d7
randomRequested is never turned off
2018-04-16 17:05:44 +02:00
Sanjana Rajan
24119f4fb1
keygen update
2018-04-15 12:38:18 -07:00
Daniel Huigens
cfb0fdbbb1
Check length tag in DER-encoded OIDs
2018-03-26 19:06:15 +02:00
Daniel Huigens
59b608f0a6
Enable native Brainpool crypto on Node
2018-03-26 16:18:21 +02:00
Sanjana Rajan
614640ee42
add comment
2018-03-22 16:55:40 -07:00
Sanjana Rajan
a22c9e4770
WIP text signatures
2018-03-22 16:10:21 -07:00
Sanjana Rajan
6fe73033a4
docs
2018-03-19 19:11:20 -07:00
Sanjana Rajan
eb96d44298
add date parameter to generateKey function
2018-03-19 18:55:15 -07:00
Sanjana Rajan
f88c1bc8a4
Merge pull request #672 from openpgpjs/feat/brainpool
...
Adds Brainpool Curves + tests + docs
2018-03-19 00:09:23 -07:00
Emeric Chevalier
e257e7a570
Fix parsing of revocation subkey fingerprint
2018-03-18 19:45:12 +01: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
c0ceffe998
some refactoring, calculate exp time of expired keys
2018-03-17 04:59:58 -07:00
Sanjana Rajan
a41fc29b44
typo fix
2018-03-16 11:52:45 -07:00
Sanjana Rajan
7408e824cb
fix sort function for choosing primary user
2018-03-16 11:50:20 -07:00
Sanjana Rajan
b4055f494f
fix #670
2018-03-15 09:05:36 +01:00
Sanjana Rajan
4d40c603cc
Merge pull request #668 from openpgpjs/rev_fixes
...
invalid primary key -> all subkeys are invalid
2018-03-13 08:34:48 +01:00
Mahrud Sayrafi
96c9cd0d73
Fixes dead links in the documentation
2018-03-13 00:13:04 -07:00
Sanjana Rajan
3945912b29
remove some redundant code
2018-03-13 01:44:22 +01:00
Sanjana Rajan
38508b33d1
if primary key is invalid, so are subkeys
2018-03-12 23:23:03 +01:00
Mahrud Sayrafi
4ded3f9d58
Documentation improvements in src/packet
2018-03-09 08:01:06 -08:00
Mahrud Sayrafi
a5e7562066
Many documentation improvements; more to come
2018-03-08 19:27:57 -08:00
Mahrud Sayrafi
08da24de27
documentation fixes
2018-03-08 10:55:58 -08:00
Sanjana Rajan
d3f42b2fc1
update comments
2018-03-08 15:36:40 +01:00
Sanjana Rajan
c5b5bf7826
utils fix
2018-03-08 14:28:50 +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
23a4141ce9
Addresses @sanjanarajan's comments
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
Sanjana Rajan
354b961b67
primegen bugfix, recalculate i
2018-03-07 08:32:52 +01:00
KAYLukas
59d2973c05
ESLint
2018-03-07 00:50:26 +01:00
Mahrud Sayrafi
0684fb760e
Using small_primes from gpg2
2018-03-06 14:28:01 -08:00
KAYLukas
389d6410c9
Don't consider multiples of 3 and 5
2018-03-06 23:11:49 +01:00
Bart Butler
1cd9018346
some cleanup
2018-03-06 10:04:33 -08: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
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
Sanjana Rajan
3df1d849b3
missing brackets
2018-03-05 17:49:09 +01:00
Mahrud Sayrafi
2077d8487f
Wait for browser to finish ECC functions to make sure it succeeds
2018-03-01 15:47:50 -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
9275119dbc
Enables JSDoc Markdown Plugin
2018-02-28 14:13:44 -08:00
Mahrud Sayrafi
7eef65926a
Simplifies elliptic/curve.js
2018-02-28 00:58:50 -08:00
Mahrud Sayrafi
746d5032e8
Provide our own randomness to elliptic
2018-02-27 17:40:41 -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
Sanjana Rajan
51adfcc244
fromClone function for ecdh symkey
2018-02-27 23:15:42 +01:00
Mahrud Sayrafi
a79acf0386
Loopless getRandomBN using extra random bits
2018-02-27 13:10:52 -08:00
Mahrud Sayrafi
d529edfdda
Addresses @sanjanarajan's review comments
2018-02-27 13:04:45 -08:00
Mahrud Sayrafi
b518d27ff0
Added Fixed-Base Miller-Rabin
2018-02-27 00:23:51 -08:00
Mahrud Sayrafi
d418b4aa40
MPI stores data as Uint8Array instead of BN
2018-02-27 00:19:34 -08:00
Mahrud Sayrafi
3df0997f4d
Cleanups
2018-02-26 20:01:01 -05:00
Mahrud Sayrafi
378fb85733
Optimizes getRandomBN, Brings back IE11 KeyOperation helper
2018-02-26 16:56:42 -05:00
Mahrud Sayrafi
2e95335825
millerRabin set to 40 iterations; doc fixes
2018-02-25 09:30:19 -05:00
Mahrud Sayrafi
7a3a75a7df
JavaScript RSA using bn.js, without asmcrypto.js
2018-02-25 00:11:29 -05:00
Mahrud Sayrafi
9943379cb7
Added Native RSA Key Generation
2018-02-24 22:10:36 -05:00
Mahrud Sayrafi
168a6b0bb8
New probabilistic random number generation algorithms; UNTESTED
2018-02-22 18:27:34 -08: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
Bart Butler
1b66b9cf60
fix worker tests
2018-02-22 00:37:43 -08:00
Mahrud Sayrafi
a2868a5c14
Begone jsbn.js! I tell you begonegit status
2018-02-22 00:37:43 -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
BafS
10c49be91d
Use ES6 modules for exports
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
9200f026f3
Starting to change 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
b126fd5be7
RSA encrypt/decrypt use asmcrypto as well
...
TODO: RSA key generation, removing jsbn from dsa, elgamal, mpi, etc.
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
Mahrud Sayrafi
ed4cef102a
This branch uses the current version of asmcrypto.js
2018-02-22 00:37:41 -08:00
KAYLukas
a5b30468ef
Check creation time in expiration checks
2018-02-22 00:41:12 +01:00
KAYLukas
6b4d44dbb1
Fix browser tests
2018-02-19 22:12:24 +01:00
KAYLukas
454ca1d879
Address comments
2018-02-18 11:50:27 +01:00
KAYLukas
071fc35f38
Check created time to be valid and discard milliseconds from date objects
2018-02-17 11:28:04 +01: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
3c2871a0e4
only access window.crypto.webkitSubtle in fallback
2018-02-15 15:34:32 -08:00
Bart Butler
7286116f1c
add deflate_level to config
2018-02-15 09:44:31 -08:00
Bart Butler
c8adaff826
change JS zlib to pako, use Node zlib if available
2018-02-14 14:21:53 -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
38a11d7aaf
reuse createVerificationObjects for cleartext
2018-02-14 17:55:54 +01:00
Sanjana Rajan
94b12e566b
correctly handle cleartext headers with no hash specified
2018-02-14 17:07:39 +01:00
mmso
8808fdb8ed
Fix #607 - Add support for bzip2 de/compression
2018-02-14 14:14:07 +01:00
Bart Butler
8dd27722a3
unify hash libraries
2018-02-13 22:29:57 -08:00
BafS
9eb574b6c4
Hotfix - change var for const
2018-02-13 23:46:44 +01:00
BafS
a53f2b3780
Update packages, add lint script, remove useless eslint-plugins
2018-02-13 23:33:09 +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
6b65640ac7
Radix should be specified
...
Part of the best practices https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt and https://eslint.org/docs/rules/radix
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
Sanjana Rajan
de51d418d2
algorithm info for public key, include curve for ecc and bits for non-ecc
2018-02-13 21:23:13 +01:00
Bart Butler
8873ed0ff1
Update openpgp.js
...
doc fix
2018-02-13 11:01:09 -08:00
Bart Butler
c855fd4e4e
Update message.js
...
doc fix
2018-02-13 10:58:55 -08: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
7365ffc9b7
wildcard implementation
2018-02-12 09:47:51 +01:00
Sanjana Rajan
e5e49901a7
change var names
2018-02-12 09:47:51 +01:00
Sanjana Rajan
18e46ed6cf
gracefully handle reformatting keys with no subkey packets
2018-02-09 16:18:27 +01:00
Bart Butler
0a4e9461ca
Merge pull request #632 from openpgpjs/ripemd_license_issue
...
use different, MIT-licensed RIPEMD library, closing #625
2018-02-08 21:10:04 -08:00
Bart Butler
bf8b4e940c
fix browsers
2018-02-08 16:33:53 -08: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
Bart Butler
fa208e8308
Merge pull request #630 from dkg/speling
...
Fix typos
2018-02-08 11:51:12 -08:00
Bart Butler
7975c86508
use different, MIT-licensed RIPEMD library, closing #625
2018-02-08 11:49:10 -08:00
Mahrud Sayrafi
d851398b0c
Merge branch 'master' into http-to-https
2018-02-08 10:56:46 -08:00
Bart Butler
c2a7ea2a20
Merge pull request #593 from laurinenas/inform-user-invalid-numBits-size
...
Add a console error when numBits param too low
2018-02-08 10:51:21 -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
Mahrud Sayrafi
1383107202
Fixed and unmuted a few eslint errors, ~10 remain
2018-02-07 04:23:16 -08:00
Mahrud Sayrafi
b2e39ccaf9
Documentation and cleanups
2018-02-07 03:25:28 -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
Mahrud Sayrafi
9cbfbf453b
Added contingency for when browser does not support NIST curves
2018-02-01 14:31:17 -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
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
Bart Butler
62c24ed227
Merge pull request #534 from openpgpjs/signature_input
...
Accept signature object as an input to encrypt function
2017-03-28 10:43:00 -07:00
Bart Butler
a4190061d9
optimize Uint8Array2str function for large payloads
2017-03-28 10:35:20 -07:00
Sanjana Rajan
16c6d2f162
signatureInput -> signature
2017-03-23 13:01:12 -07:00
Sanjana Rajan
d04c09687d
spacing
2017-03-23 11:16:16 -07:00
Sanjana Rajan
25d16046c2
add one pass in case where no priv keys are passed in for signing
2017-03-22 17:14:30 -07:00
Sanjana Rajan
79160abcc9
allow signature as input in high level encrypt
2017-03-22 17:04:21 -07:00
Sanjana Rajan
af211f63c0
update README to demonstrate detached signature use, some documentation fixes
2017-03-17 16:54:34 -07:00
Sanjana Rajan
e4621fc688
initialize publicKeys to empty array, test case where signed message is decrypted without public keys to verify
2017-03-15 17:44:43 -07:00
Sanjana Rajan
4ec07672a7
return signature object inside verification object
2017-03-10 10:38:59 -08:00
Sanjana Rajan
da9e3c6264
small fixes
2017-03-07 19:10:33 -08:00
Sanjana Rajan
465d4643a8
add clone to packetlist support for signature objects
2017-03-07 16:51:08 -08:00
Sanjana Rajan
7d02154dc9
small fixes
2017-03-07 13:59:18 -08:00
Sanjana Rajan
43355e079f
add detached sig option to upper level functions
2017-03-07 13:59:18 -08:00
Sanjana Rajan
c3908cbec0
add detached sign/verify options to cleartext
2017-03-07 13:59:18 -08:00
Sanjana Rajan
4fd4c13ddd
refactor cleartext message to use signature object instead of packetlist
2017-03-07 13:59:17 -08:00
Sanjana Rajan
7b58cd9200
add tests
2017-03-07 13:59:17 -08:00
Sanjana Rajan
57d07091e8
add support for detached signatures
2017-03-07 13:59:17 -08:00
Bart Butler
ebc37f3a7d
Merge pull request #417 from zartdinov/master
...
Added ability to sign and verify public keys
2017-03-05 12:24:37 -08:00
Aydar Zartdinov
be776c61b1
Validate signatures by all suitable keys
2017-03-04 19:27:27 +00:00
Aydar Zartdinov
d5e88c7c79
Prevent self signing by fingerprint instead of keyId
2017-03-04 18:47:33 +00:00
Bart Butler
b0c1a854fd
move SHA1 to the bottom of the preferred hash algorithm list
2017-02-27 10:30:39 -08:00
Sanjana Rajan
e90161c2d1
add missing parentheses
2017-02-15 13:06:18 -08:00
Aydar Zartdinov
d9cb8e681d
Array.prototype.find replaced for Node.js 0.12 and IE 11
2017-02-15 21:31:05 +03:00
Aydar Zartdinov
3fa4c0c760
Base functionality moved to User.prototype
2017-02-15 21:08:17 +03:00
Aydar Zartdinov
715f98bb38
Reverted top level api changes
2017-02-15 21:04:50 +03:00
Aydar Zartdinov
5140a946e5
Added ability to sign and verify public keys
2017-02-15 21:04:50 +03:00
Bart Butler
6be9ddde59
Merge pull request #517 from openpgpjs/userID
...
Key reformatting and resigning
2017-02-13 16:11:17 -08:00
Sanjana Rajan
11e1040a30
remove extra input param
2017-01-31 14:18:13 -08:00
Sanjana Rajan
a902c421eb
add upper level refactorKey function
2017-01-31 14:14:27 -08:00
Sanjana Rajan
9de579a29d
remove extra space, typo
2017-01-30 19:41:43 -08:00
Sanjana Rajan
9d59351007
reformatKey function
2017-01-30 19:38:49 -08:00
Alax Villmann
e526cf0a3b
Generate valid version 3 signatures
2017-01-26 12:49:49 -08:00
David Janes
c223b88829
implement keyExpirationTime
2017-01-24 16:54:52 -05:00
Bart Butler
bc69357ab5
Merge pull request #498 from larshp/master
...
S2K - Only generate what is needed
2017-01-22 23:36:36 -08:00
Alax Villmann
0989015ed2
V3 header generation was concat()-ing non-Uint8 arrays
2017-01-09 10:30:31 -08:00
Sanjana Rajan
d65d629264
trim name
2016-12-15 10:39:29 -08:00
Sanjana Rajan
d058523e9e
clearer syntax
2016-12-15 10:01:50 -08:00
Sanjana Rajan
109f8a5d20
don't allow leading spaces in user id
2016-12-14 12:38:01 -08:00
Lars Hvam
c69a92d694
only generate what is needed
2016-11-20 09:54:00 -05:00
Sanjana Rajan
344294659e
invalidate expired primary keys
2016-10-27 11:50:30 -07:00
Bart Butler
659c6f23d2
Merge pull request #493 from openpgpjs/armored_decrypted_key_fix
...
Reset secret key's encrypted field to null after decryption
2016-10-26 16:58:07 -07:00
Bart Butler
6abf7ffcc0
Fix rare race condition with webworker tasks, fix minified web worker filename default
2016-10-26 16:56:21 -07:00
Sanjana Rajan
8620220cfb
reset encrypted field to null when decrypting secret key
2016-10-26 16:55:49 -07:00
emersion
e9940eb100
Properly set one-pass signture packet flag
2016-08-17 13:03:56 +02:00
Tankred Hase
e3cbaba33a
Be sure to only pop unsupported packet if already pushed
2016-06-08 11:30:53 +02:00
Tankred Hase
490d8e4e90
Bugfix: drop unsupported packets in packetlist.read()
...
add unit test for RSA key with ECC subkey
2016-06-07 18:21:31 +02:00
Tankred Hase
87b4bfefd8
Fix error handling
2016-05-24 17:22:15 +02:00