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
Sanjana Rajan
fdcfcf3a54
refactor formatUserIds
2018-01-30 18:30:15 +01:00
Ismael Bejarano
ea1b0a1088
Readme for modifications to support RFC 6637 - Elliptic Curve Cryptography (ECC) in OpenPGP
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
075d7f8e0e
Encrypt, decrypt, sign and verify with elliptic curve certificates
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
Bart Butler
b22f84f9b9
Release new version
2018-01-21 23:13:22 -08:00
Bart Butler
2e4861e0e0
Merge pull request #621 from openpgpjs/allowExpired
...
Add flag to enable/disable allowing message signature verification with expired keys
2018-01-19 01:15:38 +01:00
Sanjana Rajan
b9d175d998
tests
2018-01-17 19:36:51 +01:00