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
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
Sanjana Rajan
86e15dbd0a
aes kw update
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
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
Ismael Bejarano
075d7f8e0e
Encrypt, decrypt, sign and verify with elliptic curve certificates
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
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
01be192a35
Object identifier type
2018-01-30 18:30:13 +01:00
Sanjana Rajan
b9d175d998
tests
2018-01-17 19:36:51 +01:00
Bart Butler
3d2c0d784e
add null string test
2017-12-22 22:17:36 -08: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
6189cd4568
returnSessionKey flag in encrypt function
2017-12-02 11:04:29 -08:00
Sanjana Rajan
f0d65780ad
wording
2017-12-01 21:30:19 -08:00
Sanjana Rajan
7e03410bc9
allow sessionKey param in top level encrypt
2017-12-01 21:25:43 -08:00
Bart Butler
6c707057d5
webCrypto in webkit needs 2048 bits minimum for keygen
2017-11-28 11:26:52 -08:00
Bart Butler
318d86e5e9
do not use arrow syntax for tests (old node/browser versions)
2017-11-28 10:18:26 -08:00
Sanjana Rajan
a724649f30
fix assert is not defined issue
2017-11-27 22:17:13 -08:00
Sanjana Rajan
e2c15fe558
don't use done inside promises
2017-11-27 22:17:13 -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
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
589fbb19d6
Added a test to verify error message
2017-11-25 12:24:53 -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
15e39a51b0
Minor whitespace changes
2017-11-24 19:56:15 -06:00
Justin Chase
f4cf6d7382
Remove lambda in test
2017-11-24 17:54:44 -06:00
Justin Chase
bf6c2b9319
Added a test verifying innerError
2017-11-24 16:12:37 -06:00
Kelly Martin
c413d09069
Replace expired subkeys with three other subkeys,
...
One is an expired key for encryption, one is a non-expiring key for
only signatures, and one is a non-expiring key for encryption.
2017-09-15 11:35:37 -05:00
Thomas Oberndörfer
e3eb298ab7
Set keyExpirationTime for subkey binding signature
2017-08-30 16:09:53 +02:00
Patrick Brunschwig
79c8a83cea
fixed broken Testcase for improperly formatted Armor Header
2017-08-19 22:07:36 +02:00
Bart Butler
265fa62601
Correct misspelling
2017-07-22 09:38:44 -07:00
Tom James Holub
bcf4a114a7
util.readNumber: overflow test added | #497
2017-07-22 09:27:36 -07:00
Tom James Holub
812e8ffe31
test added: find a valid subkey binding signature among many invalid ones | #527
2017-07-21 21:39:48 -07:00
Tom James Holub
10896c2cbf
added missing checksum test with traling armor newline
2017-07-21 15:37:25 -07:00
Tom James Holub
80742bdfbe
tests extended - armor checksum validation | #563
2017-07-21 10:15:49 -07:00
Sanjana Rajan
a896003fda
remove console logs
2017-07-13 12:07:12 +02:00
Sanjana Rajan
95c5e3af01
use message obj when signing uint8 array
2017-07-08 13:25:24 +02:00
Sanjana Rajan
cc831cde4a
more tests
2017-07-04 21:08:48 -07:00
Sanjana Rajan
697eab19cd
add tests
2017-07-04 17:03:56 -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
f56d557036
Add a test for punycode encoded domains
2017-03-30 19:29:50 +00:00
Sanjana Rajan
16c6d2f162
signatureInput -> signature
2017-03-23 13:01:12 -07:00
Sanjana Rajan
484d5aa1ab
improve test
2017-03-23 12:04:32 -07:00
Sanjana Rajan
0f967331c6
upper level tests
2017-03-22 17:14:57 -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
Bart Butler
3522bcf2fe
remove useless test
2017-03-14 19:13:17 -07:00
Bart Butler
875e475221
small test bugfix
2017-03-14 18:49:05 -07:00
Sanjana Rajan
4ec07672a7
return signature object inside verification object
2017-03-10 10:38:59 -08:00
Sanjana Rajan
7bf697769d
added detached sig tests for high level openpgpjs functions
2017-03-07 13:59:18 -08:00
Sanjana Rajan
4ed7f25836
more tests
2017-03-07 13:59:17 -08:00
Sanjana Rajan
7b58cd9200
add tests
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
Bart Butler
ea90304649
fix key test
2017-02-27 11:06:36 -08: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
3d32898250
tests cannot use ES6 features
2017-02-13 22:25:46 -08:00
Sanjana Rajan
37b26cf3ef
add test with reformatted key signing and encryption
2017-01-31 15:07:51 -08:00
Sanjana Rajan
1c361cd4e1
add some reformatting key tests
2017-01-31 14:16:34 -08:00
David Janes
c223b88829
implement keyExpirationTime
2017-01-24 16:54:52 -05:00
Giovanni Pellerano
f8c5c84469
Simplify test/unittests.html removing old stuff related to phantomjs
2016-06-26 11:35:43 +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
evilaliv3
a5fdc36062
Cleanup API for key.decrypt and align unit tests
2016-04-27 16:06:52 +02:00
evilaliv3
61470ad068
Apply edits as suggested in review of pull #446
2016-04-25 18:35:50 +02:00
evilaliv3
afc2c95238
Implement feature #443
2016-04-25 00:54:16 +02:00
Tankred Hase
e3b146b9d9
Fix Keyid.fromId()
2016-04-11 12:11:35 +02:00
Tankred Hase
843fba0d40
Use underscore instead of camelcase in config
...
zeroCopy —> zero_copy
useNative —> use_native
Remove unnecessary tests from build
2016-03-24 21:02:29 +08:00
Tankred Hase
2dce233d10
Fix: activate native tests under node.js
2016-03-24 13:34:12 +08:00
Tankred Hase
da3fbf8965
Test CFB, GCM, worker, asm.js, native cases
2016-03-24 13:25:35 +08:00
Tankred Hase
8b46a117ab
Prefer aes128 over aes192 (no WebCrypto support)
2016-03-24 10:53:30 +08:00
Tankred Hase
ddedb5cb42
Cleanup public api
2016-03-23 21:36:48 +08:00
Tankred Hase
453a9cee07
Use web worker for encrypt/decrypt if no native gcm
2016-03-23 21:17:36 +08:00
Tankred Hase
26bf7b62c7
Prevent native crypto for worker tests.
2016-03-23 19:15:04 +08:00
Tankred Hase
963648c6ea
Fix unit tests for browsers
2016-03-23 15:39:51 +08:00
Tankred Hase
7fabe02e03
Fix GCM under node.js
2016-03-23 13:43:06 +08:00
Tankred Hase
8f8218e9de
Cleanup and test AEAD protected packet
2016-03-22 17:45:19 +08:00
Tankred Hase
8aa15b66a9
Cleanup and unit test gcm.js
2016-03-22 17:45:19 +08:00
Tankred Hase
a8fd179843
Fix key and signature tests
2016-02-10 15:41:04 +07:00
Tankred Hase
707b3919e1
Move most test high lvl api test code to test/openpgp.js, cleanup
2016-02-10 15:07:05 +07:00
Tankred Hase
25131e0df9
Added unit tests for util.getTransferables
2016-02-10 12:52:13 +07:00
Tankred Hase
6547b4ef68
Test encrypt/decryptSessionKey and finalize api, review docs
2016-02-10 12:52:13 +07:00
Tankred Hase
128a95ace4
rearrange test order and fix web worker detection
2016-02-10 06:38:35 +07:00
Tankred Hase
9d37a83a79
Api tests work under node.js
2016-02-09 19:14:43 +07:00
Tankred Hase
7d97bcec58
Implement openpgp.decryptKey
2016-02-09 19:04:31 +07:00
Tankred Hase
860ffbe278
Fix redundant deactivation of transferable objects in test
2016-02-09 17:14:00 +07:00
Tankred Hase
ab68d4b997
Support transferable objects in web worker for zero copy support
2016-02-09 17:01:48 +07:00
Tankred Hase
206f1f9c0f
Add 'armor' parameter to sign api
2016-02-09 12:57:23 +07:00
Tankred Hase
c0cc0ee991
Use 'armor' param in encrypt api instead of 'packets' to return full message object
2016-02-09 11:32:35 +07:00
Tankred Hase
f5375ef700
Drastically simplify async_proxy with generic delegate function
2016-02-09 08:46:18 +07:00
Tankred Hase
227a412ca0
Run tests both with and without web worker
2016-02-09 07:53:31 +07:00
Tankred Hase
9634440341
Remove redundant old tests from test/general/basic.js
2016-02-09 07:49:51 +07:00
Tankred Hase
b1f6266cc8
Write tests for new api: openpgp.encrypt/decrypt
2016-02-08 23:28:54 +07:00
Tankred Hase
a44e1e5024
Write tests for new api: openpgp.generateKey
2016-02-08 19:32:42 +07:00
Tankred Hase
c38d41036e
Add sinon to devDeps for mocking
2016-02-08 15:02:02 +07:00
Tankred Hase
c7a6a88098
Add type validation util functions
2016-02-08 13:36:21 +07:00
Tankred Hase
261db8035d
Remove redundant message.symEncrypt/symDecrypt
2016-02-04 16:41:39 +07:00
Tankred Hase
3919441bbc
Fix unit test using strict mode for random.js
2016-02-03 20:24:54 +07:00
Tankred Hase
2aa8b143bd
Ignore MDC error in unit test for symmetrically encrypted packet
2016-02-03 20:24:54 +07:00
Bart Butler
88a7534b8a
Add asmCrypto, native node crypto calls for faster AES
2016-02-03 20:24:54 +07:00
Bart Butler
11038dd946
Add Rusha for fast SHA hashes
2016-02-03 20:24:54 +07:00
Bart Butler
b4916e29a3
binary strings to typed arrays in most places
2016-02-03 20:24:54 +07:00
Bart Butler
b310877c7d
fixes
2016-02-03 20:24:54 +07:00
Bart Butler
60fb6ba18d
direct session key manipulation and encryption/decryption
2016-02-03 20:24:54 +07:00
Bart Butler
2e4e9387a0
Fixes for symmetrically encrypted session keys
2016-02-03 20:24:54 +07:00
Tankred Hase
d707164857
Fix unit tests on Safari, Closes openpgpjs/openpgpjs#399
2016-02-03 19:33:08 +07:00
Tankred Hase
1ba1427f58
Skip performance test
2016-02-01 08:23:17 +07:00
Tankred Hase
dec7881f93
Don't inject fetch polyfill in hkp module anymore
2016-01-29 20:03:11 +07:00
Tankred Hase
f729efa873
Use dist/openpgp instead of src/index because of future ES6 transpilation under node
2016-01-23 07:05:59 +07:00
evilaliv3
af4a9ba6ad
Revert few of the changes done in a4598f3bd4
2016-01-22 23:47:11 +01:00
evilaliv3
ec2a3990ff
Fix order of logFailure definition and its usage in unittests.html
2016-01-09 01:22:28 +01:00
evilaliv3
1a4a75501a
Raise unittests.html mocha.timeout to 240000 as for other timeouts
2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
a968f60f0b
Keyring: support plain email addresses (without name) as user IDs.
2016-01-07 15:35:47 +01:00
Nick Doiron
ef566b6a3c
Specify a filename in encrypt fromBinary [ Closes #284 ]
2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
6f8a3abdfa
Support multiple user IDs for key generation
2016-01-07 15:35:47 +01:00
Matthew Shaylor
37ce176d42
If you attempt to store an empty keylist then delete the storage key
2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
d0297e1b81
Test cases for MDC error
2016-01-07 15:35:47 +01:00
Tankred Hase
6634abf326
Add basic HKP lookup and upload support
2015-12-11 13:12:34 +07:00
evilaliv3
641f4c8098
Improve unit testing by means of Coveralls and Saucelabs
2015-11-28 12:53:03 +01:00
Peter Breitling
07e4278a3a
Optimized memory footprint for encrypting and decrypting
2015-06-10 21:12:55 +02:00
Tankred Hase
85133393e3
Use 2048 bit keysize in tests in case of webcrypto support
2015-05-13 14:06:48 +02:00
Tankred Hase
4d6a34faa1
Implement Symmetric-Key Message Encryption using a passphrase
...
See https://tools.ietf.org/html/rfc4880#section-3.7.2.2
2015-04-22 01:41:00 +02:00
Thomas Oberndörfer
90d9edd497
Add unit tests for checkEmail method in keyring
2015-03-05 14:40:59 +01:00
Tankred Hase
da3dbf7acc
Set config in AsyncProxy
2015-02-11 14:01:08 +01:00
Sergey Ratiashvili
c9e019d20e
fix worker instance misconfiguration
2015-02-11 13:08:13 +01:00
Thomas Oberndörfer
712f807e50
Restore path parameter of initWorker method
2015-01-24 14:44:06 +01:00
Thomas Oberndörfer
c9b4f7532e
Add getter method for worker to high level API. Initialization options for AsyncProxy: path and worker.
2014-12-15 14:33:13 +01:00
Andreas Fischer
b00ce34e90
Typo: Unknow -> Unknown
2014-11-17 12:31:04 +01:00
Tankred Hase
39e1e145e4
Add es6-promise polyfill to build step so users don't have to.
2014-10-02 10:55:27 +02:00
Tankred Hase
4cd664a919
Fix tests on travis ci.
2014-10-02 00:02:56 +02:00
Tankred Hase
bf1cb6d521
Add high level error messages to public api.
2014-10-01 22:20:28 +02:00
Tankred Hase
f08fc0a4f7
Refactor web worker async proxy to use promises.
2014-10-01 21:18:05 +02:00
Tankred Hase
7f2573c77d
Refactor complete public api to use promises
2014-10-01 19:12:39 +02:00
Tankred Hase
0ac58356b5
Refactor keygen to use promises (Work in progress)
2014-10-01 13:13:09 +02:00
Tankred Hase
cbe4a17ccb
Refactor key generation to use callback
...
* TODO: reactive native web crypto in rsa.js:142
* TODO: generate publicExponent Uint8Array from argument E in rsa.js:148
* TODO: signing with generated web crypto key fails with "Could not find valid key packet for signing in key"
2014-09-30 18:22:17 +02:00
Thomas Oberndörfer
060da64aab
Key generation: do not clear private MPIs for keys without passphrase.
2014-07-30 16:36:01 +02:00
Tankred Hase
de3ba18400
Implement content verification using detached signatures
2014-07-03 14:57:52 +02:00
Tankred Hase
8c93688b0e
Warn user with signature null for wrong public key instead of exception.
2014-07-01 16:22:09 +02:00
Tankred Hase
ecb6798441
Throw an error if a wrong public key is used to verify a signature.
2014-06-30 19:26:33 +02:00
Msjoinder
1fd2c0f6f4
API accepts single public key string instead of array
2014-06-07 14:11:53 -05:00
Tankred Hase
896e90c1ee
Merge pull request #223 from toberndo/unify_verify_interface
...
Allow private keys for verify methods in Cleartext and Message class.
2014-05-17 09:20:32 +02:00
Thomas Oberndörfer
172855a8e9
Redefine Regex for blank line after armor header. This fixes an issue with truncated blank lines at the beginning of cleartext signed messages.
2014-05-16 19:08:29 +02:00
Thomas Oberndörfer
7a7c181ee6
Allow private keys for verify methods in Cleartext and Message class. Refactor getKeyPacket methods in Key class.
2014-05-14 11:32:09 +02:00
Thomas Oberndörfer
bb0ac83cb7
Generate key by default without unlocking secret part. Use options parameter for generate method.
2014-05-05 12:11:36 +02:00
Thomas Oberndörfer
4a55905a8f
Merge subkey binding signatures in key update method
2014-05-02 17:30:11 +02:00
Tankred Hase
b21bab2e42
Merge pull request #218 from toberndo/opt_prim_user
...
Minimize signature verifications to evaluate primary user
2014-05-02 11:32:32 +02:00
Thomas Oberndörfer
8ea87050bd
Minimize signature verifications to evaluate primary user
2014-04-26 10:50:55 +02:00
Thomas Oberndörfer
e1dffffe8d
Refactor cfb.encrypt: fix inconsistent output depending on plaintext length. Use typed arrays for ciphertext.
2014-04-25 16:33:28 +02:00
Thomas Oberndörfer
ced145865e
Accept armor header with trailing whitespace
2014-04-04 16:00:26 +02:00
Thomas Oberndörfer
86537fb48c
Add support to write V3 signatures
2014-04-03 21:21:56 +02:00
Thomas Oberndörfer
fb8f2a2a57
Implement user attribute packet write()
2014-04-02 19:21:44 +02:00
Thomas Oberndörfer
a4598f3bd4
Generate openpgp.js without source map. New source map target is openpgp_debug.js. Change dependency of workers: openpgp.worker.js -> openpgp.js, openpgp.worker.min.js -> openpgp.min.js. Remove openpgp.js with maps from unittests-bundle.js
2014-03-31 16:09:23 +02:00
Thomas Oberndörfer
e8ef355604
OP-01-010 Invalid Armor Checksum Validation (Low)
2014-03-29 16:25:28 +01:00
Thomas Oberndörfer
5eca11ca5b
Set signature feature subpacket depending on config.integrity_protect flag
2014-03-29 15:39:26 +01:00
Thomas Oberndörfer
1c818f2410
OP-01-006 Generated keys have no stored algorithm preference (Medium). Set preferences for symmetric, hash and compression algorithms. Fix preferred_compression_algorithms subpacket reading.
2014-03-28 21:39:54 +01:00
Thomas Oberndörfer
b9c597a41a
OP-01-003 Suggested Code Enforcement of RandomBuffer (Low). Clearing random number from buffer after usage. buffer variable is still a public.
2014-03-28 13:16:33 +01:00
Thomas Oberndörfer
4d96089f72
OP-01-001 Type confusion in crypto.random.RandomBuffer (Low)
2014-03-27 15:49:10 +01:00
Thomas Oberndörfer
28e7a80eba
OP-01-011 Error suppression in UTF-8 decoding function (Medium). Add check for parameter type to decode_utf8.
2014-03-21 18:32:05 +01:00
Thomas Oberndörfer
93ca8b62fe
OP-01-019 Cleartext Message Spoofing in Armor Headers (Critical). Fix: throw error if unknown ASCII armor type.
2014-03-21 16:11:48 +01:00
Thomas Oberndörfer
329c92bc73
OP-01-009 Cleartext Messages Spoofing by Lax Armor Headers parsing (Critical). Add armor header verification. Verify "Hash" header in cleartext signed message.
2014-03-21 15:37:52 +01:00
Thomas Oberndörfer
22e4540ed9
OP-01-007 Algorithm Preferences ignored upon Encryption (Low)
2014-03-18 17:45:15 +01:00
Thomas Oberndörfer
9f23c6a891
OP-01-005 Side-channel leak in RSA decryption (High). Add config option for RSA blinding, default true. Update jsbn to 1.3. Remove decrypted packets after Message.decrypt().
2014-03-17 11:54:40 +01:00
Tankred Hase
7cba2be2fc
Merge pull request #179 from toberndo/keyring_enh
...
Refactoring keyring, Key update method, Fixes
2014-02-27 11:04:25 +01:00
Thomas Oberndörfer
1dfdfb62cb
Keyring: simplify API, accept 16 char hex or fingerprint as keyid.
2014-02-26 11:45:03 +01:00
Tankred Hase
3d423655c4
reduce memory allocations in aes block cipher, optimize performance test
2014-02-26 00:20:46 +01:00
Tankred Hase
ec4a0aca46
use typed array in aes and cfb, cleanup for loops
2014-02-25 14:38:52 +01:00
Tankred Hase
01a0a218c7
update becnhmark test
2014-02-25 13:19:41 +01:00
Tankred Hase
49ac4e6816
add performance test
2014-02-25 10:30:57 +01:00
Tankred Hase
8eada2a1a8
fix aes unit test
2014-02-25 00:09:49 +01:00
Thomas Oberndörfer
7bdbb58266
Update keyring unit tests
2014-02-23 20:52:52 +01:00
Thomas Oberndörfer
e71a897d8a
Add unit tests for key update
2014-02-23 20:52:03 +01:00
Thomas Oberndörfer
151694ff07
Write unhashed subpackets. Fix #178 .
2014-02-23 20:51:02 +01:00
Tankred Hase
b0bd5168a8
add optional callback to public api and invoke AsyncProxy behind the scenes
2014-02-12 15:11:06 +01:00
Eason Goodale
7ca8414fc8
The keys seem to have been generated with 'whiteout.test@t-online.de'
2014-02-06 04:43:00 -08:00
Eason Goodale
bb4057af7d
Keyring test should ensure that it's actually getting a key when it uses a valid address
2014-02-06 04:36:57 -08:00
Thomas Oberndörfer
f00f4a9582
Merge branch 'key_enh'
2014-02-06 12:46:24 +01:00
Thomas Oberndörfer
b1e8c9ec52
Add unit tests for getExpirationTime Key method
2014-02-06 12:28:36 +01:00
Thomas Oberndörfer
191eca353e
Merge branch 'pr/170'
2014-02-06 12:23:47 +01:00
Thomas Oberndörfer
d46ef40390
Add unit test for custom localstorage item name
2014-02-06 12:20:52 +01:00
Thomas Oberndörfer
b3a5597ab9
Merge pull request #169 from openpgpjs/subkey_revocation
...
Verify subkey revocation signatures according to: RFC4880 Errata ID: 3298
2014-02-06 11:41:30 +01:00
Thomas Oberndörfer
a9c9f78dd4
Verify subkey revocation signatures according to: http://www.rfc-editor.org/errata_search.php?rfc=4880&eid=3298
2014-02-04 17:44:22 +01:00
Thomas Oberndörfer
57849437d9
Fix isValidEncryptionKeyPacket function: access key flags by index
2014-02-04 15:51:47 +01:00
Tankred Hase
01469be87f
Merge pull request #163 from MarcoPolo/master
...
Fixed keyring local storage
2014-02-02 09:14:44 -08:00
Tankred Hase
95db18eb4a
Add unit test to catch #156 and fix it
2014-01-31 14:03:59 +01:00
Marco Munizaga
875ccf5196
Fixed keyring local storage
2014-01-31 02:26:57 -05:00
Thomas Oberndörfer
040ccbaf2c
Web worker: simplify random data supply
2014-01-20 09:56:02 +01:00
Thomas Oberndörfer
37213e1654
Web worker: add decryptKey and decryptKeyPacket methods to proxy
2014-01-16 16:44:05 +01:00
Thomas Oberndörfer
a777371418
Web worker: unit tests for random buffer and entropy estimation
2014-01-16 13:34:31 +01:00
Thomas Oberndörfer
8cd956c9bc
Web worker: add more unit tests
2014-01-15 19:42:03 +01:00
Thomas Oberndörfer
17c6f90113
Unit tests for web worker. Only active for browsers.
2014-01-13 15:42:03 +01:00
Tankred Hase
bf46ff3c9d
fix tests
2014-01-10 20:46:31 +01:00
Robert Nelson
bd963aabf0
Make standalone the default and use openpgp.min.js in node package
2014-01-09 17:02:42 -08:00
Robert Nelson
4719966988
Fix travis problem
2014-01-09 09:40:57 -08:00
Robert Nelson
92adbff398
Changed comparison in window check
2014-01-09 08:22:57 -08:00
Robert Nelson
4cabe075d5
Add standalone support
2014-01-09 07:31:00 -08:00
Robert Nelson
5851d7ba14
Remove obsolete example test file
2014-01-09 03:14:35 -08:00
Robert Nelson
9f4e6e7ebb
Add files missed in last commit
2014-01-09 02:47:57 -08:00
Robert Nelson
3680695a69
Implement node.js support and cleanup source tree.
...
Rename resources to dist.
Eliminate keyring bundle and expose keyring class in openpgp module.
Add mochaTest grunt task to run node server-side tests.
Add node_pack grunt task to create npm package into dist and install it for testing.
Add node_store config property which specifies location of localStorage emulation when using node.
Add repository info to package.json.
Move util.js to src directory from util since it is the only file there.
Rename class properties in openpgp to the new class names.
2014-01-09 02:29:30 -08:00
Robert Nelson
57c98386f9
Add node.js support
2014-01-08 09:01:15 -08:00
Robert Nelson
0c6b345ba8
Refactor classes
2014-01-05 10:13:25 -08:00
Robert Nelson
28ba64c11d
Eliminate previous ci tests.
...
Merge ci keyring tests to unittests, the other ci tests just duplicate other unit tests.
Change Makefile to just run grunt and npm tasks.
2014-01-04 11:09:29 -08:00
Robert Nelson
598618ec8a
Complete crypto/hash tests
2014-01-03 23:44:04 -08:00
Robert Nelson
0a23d056c0
Finish crypto/cipher tests, disable subkey revocation tests
2014-01-03 22:46:37 -08:00
Robert Nelson
db80459cf1
Merge branch 'master' into chai-mocha-port
2014-01-03 13:51:49 -08:00
Tankred Hase
3d67721fb5
remove old files
2014-01-03 20:40:05 +01:00
Tankred Hase
1cec81d576
merged devel into master
2014-01-03 18:48:27 +01:00
Robert Nelson
3ef6814421
Add new index.js files
2014-01-03 08:11:55 -08:00
Robert Nelson
3beb4ac0ad
Started porting crypto tests
2014-01-03 08:10:50 -08:00
Robert Nelson
e5e1675615
Port general tests to chai/mocha
2014-01-02 19:47:04 -08:00
Robert Nelson
17ad1f5fed
More documentation fixes
2013-12-26 22:49:37 -08:00
Robert Nelson
e891d81e17
Merge upstream/devel changes
2013-12-22 13:01:24 -08:00
Robert Nelson
8923813580
Fix jsdoc generation and make keyring multiple instance.
...
Add jsdoc @module definitions.
Fix references to old class names.
Make keyring a multiple instance module.
Eliminate unit test dependency on running npm test.
2013-12-22 12:39:11 -08:00
Thomas Oberndörfer
b27b01905b
Refactoring Key class to use structured data. Transform key from-to packetlist.
...
Add User and SubKey class. Verification methods for key components.
2013-12-20 18:19:11 +01:00
Thomas Oberndörfer
1ca90a980c
Support multiple keys per ASCII armored block. Unify error handling: replace print_error function
...
with exceptions. The idea is to use exceptions internally, but catch them in the high level API
functions and return errors as implemented in openpgp.key.readArmored.
2013-12-17 16:09:52 +01:00
Thomas Oberndörfer
d7d74ec5e3
Verify V3 certification signatures
2013-12-12 14:22:23 +01:00
Thomas Oberndörfer
ff8d93f956
Fix key expiration time. Add key revocation unit test.
2013-12-12 12:05:00 +01:00
Thomas Oberndörfer
d22facc61c
Remove CP-1252 cleartext signature unit-test
2013-12-09 19:33:30 +01:00
Thomas Oberndörfer
5fd4bdbccb
Fix make bundle-test and keyring unit-tests
2013-12-09 16:57:44 +01:00
Robert Nelson
48af7ce584
Shuffle bundle names around so that openpgp.js is the debug version
2013-12-09 00:30:13 -08:00
Robert Nelson
1d0c75a927
Add keyring bundle creation to Makefile
2013-12-08 21:23:05 -08:00
Robert Nelson
1c07c482aa
Create a bundle for keyring and split out the store code
2013-12-08 20:54:25 -08:00
Robert Nelson
f00d3210aa
Convert keyring to use key interface rather than the packetlist.
2013-12-08 19:35:01 -08:00
Robert Nelson
bfba0eca0c
Changed unitttests and keyring to use bundled openpgp and updated keyring to use openpgp.key instead of packetlists.
...
Added getUserIds() to key.
Reenabled keyring ci tests.
2013-12-08 15:41:31 -08:00
Robert Nelson
30332003f8
Merge remote-tracking branch 'origin/devel' into integration-tests
2013-12-08 11:02:26 -08:00
Thomas Oberndörfer
5d32718096
Normalize end of line, add getter and setter for text in literal data packet.
2013-12-08 14:24:52 +01:00
Robert Nelson
e8a2cd6621
Continuous integration testing support completed
2013-12-08 04:38:44 -08:00
Robert Nelson
5f30c67499
All signature unit tests passing now
2013-12-06 14:26:11 -08:00
Robert Nelson
f57de1ec40
Unit tests passing
2013-12-06 09:56:05 -08:00
Tankred Hase
db2f20448c
fix signature test
2013-12-05 22:12:32 +01:00
Tankred Hase
caaedc16bf
reconstruct bug in signature verification
2013-12-05 17:27:56 +01:00
Robert Nelson
aa377b7cc9
Add verification of V3 signatures
2013-12-04 20:38:52 -08:00
Robert Nelson
835a05853e
Change message to match others
2013-12-04 19:39:15 -08:00
Robert Nelson
f8d8d471a9
Add test of verification of a clearsign message generated by gpg
2013-12-04 19:33:44 -08:00
Robert Nelson
e9b8b0efb9
Incorporate integration test changes from signature branch
2013-12-04 18:11:14 -08:00
Thomas Oberndörfer
f6176ed484
Move key generation to Key class
2013-12-04 16:45:14 +01:00
Thomas Oberndörfer
7e711510cc
Implement cleartext signed messages
2013-12-02 20:11:21 +01:00
Thomas Oberndörfer
be96de5188
Move methods of Key and Message class to prototype. Clean up openpgp.js file.
2013-12-02 14:54:05 +01:00
Thomas Oberndörfer
89eb5dff2a
Rename attribute for data of armored message from .openpgp to .data
2013-12-02 11:27:14 +01:00
Thomas Oberndörfer
c2a79368dc
Add verify method to message class and other improvements. Implement openpgp.decryptAndVerifyMessage. Allow parsing of unhashed signature subpackets.
2013-11-30 17:29:20 +01:00
Thomas Oberndörfer
b0ea97ec28
Make packet tests run. Rename test files, move signature tests to general folder.
...
Split keyring tests in own file. Add tests for V3 signatures and fix verification.
2013-11-26 18:30:17 +01:00
Thomas Oberndörfer
66c428da7e
Fix key generation: use primary key for subkey binding signature. On signing all signature subpacket data
...
is written to the hashed subpacket data section. This allows to set e.g. key flags on certification signatures.
2013-11-26 10:35:41 +01:00
Thomas Oberndörfer
22ad0d3505
Implement signAndEncryptMessage function. Fix packet_one_pass_signature.write().
2013-11-19 16:30:41 +01:00
Thomas Oberndörfer
93376b6e13
Add decryptKeyPacket to key class. Used to decrypt specific key
...
packets and replacing the unlock mechanism. Decrypt method of packet_secret_key
returns boolean to indicate successful decryption. Add config to util class
and cleanup comments. Update tests.
2013-11-19 13:50:14 +01:00
Thomas Oberndörfer
097e602fd0
Fix grunt-browserify dependency
2013-11-18 10:07:18 +01:00
Thomas Oberndörfer
c051eacf36
Introduce unlock method for keys: passphrase is set as attribute of key and used
...
to decrypt required secret key packets on demand. Directly access config module in armor.js.
Key method getPrivateKeyPacket returns key packets by ID (optionally decrypted).
Message method decrypt returns new message with packetlist of decrypted message.
Add CRLF conversion to literal data packet. Packetlist: make filterByTag variadic,
add findPacket method. Keep state isDecrypted in secret key packet, don't decrypt
if already decrypted. Add mapToHex method to keyid. Simplify emailRegEx.
2013-11-16 22:08:42 +01:00
Thomas Oberndörfer
1be6b8b858
Remove keyring from openpgp namespace. Optimize keyid initialization.
2013-10-24 12:19:46 +02:00
Tankred Hase
b951cddd6d
add mocha tests for travis CI integration tests on code commit
...
squash all commits to single commit
2013-10-23 13:25:00 +02:00
Thomas Oberndörfer
b544343c63
Further clean up in message and key class. Make tests run.
2013-10-22 20:15:05 +02:00
Thomas Oberndörfer
b1c9eb71d2
Refactoring message and key class. Implement decryptMessage.
2013-10-21 20:51:46 +02:00
seancolyer
91070f9750
Changing main api to be more key dependent
2013-10-18 21:46:38 -04:00
seancolyer
7cfa0ab705
Cleanup, creating armor enums
2013-10-18 21:18:38 -04:00
seancolyer
8baaa7f511
Fixing the signature to work properly with "hashed" subpackets.
2013-10-17 23:03:13 -04:00
seancolyer
4872b8c720
Work towards signature. There seems to be an issue with generating the
...
dates of signature packets, gpg is unable to read the results. We used
to do this correctly, so need to figure out exactly what's different..
2013-10-15 22:46:32 -04:00
seancolyer
52cf3eced8
Working towards key generation, started cleanup of config, changing
...
armor api slightly to pass in whether or not to show version string, not
entirely happy with current solution.
2013-10-14 22:52:10 -04:00
seancolyer
42f26e543e
Work around key generation. We need to get the signature data-passing
...
platform ironed out for things like certifying keypairs/user ids.
2013-10-13 15:39:45 -04:00
seancolyer
fae321a1e3
Further test work, make keyring marginally work. Start end-to-end work.
2013-10-08 21:54:40 -04:00
seancolyer
30d2c38f00
Started cleaning up the public API/Keyring to use the "packetlist"
...
concept. More cleanup still to do, also need to determine best way to
submodule keyring. Ripping out previous packet.io addition because it
isn't needed/ goes against packetlist.
2013-10-06 21:44:46 -04:00
seancolyer
766d3e34fe
Start working on openpgp.sigcheck.js tests. I have exposed packetParser
...
as packet.io to src/openpgp.js, I think that will quickly be revisited.
2013-09-21 19:39:15 -04:00
seancolyer
75f632acaf
Cleanup eme_pkcs1 padding tests.
2013-09-21 17:39:08 -04:00
atrevarrow
41f0a040e9
Fixed DES/TripleDES padding and added unit tests
2013-08-27 23:23:58 +12:00
seancolyer
020a46ea3b
Test cleanup.
2013-08-22 22:47:46 -04:00
seancolyer
ae1cb14bfb
Further test cleaning. openpgp.crypto.js test runs now, next step, make
...
it pass.
2013-08-19 21:24:17 -04:00
seancolyer
b7d0322b8e
Test cleanup, and fall out from that. test/crypto/openpgp.crypto.js is
...
still broken because DSA still has issues. I'm guessing elgamal will too
once the DSA ones are fixed.
2013-08-18 17:37:37 -04:00
atrevarrow
86df06f8da
Fixed DES/TripleDES padding issues which fixed broken TripleDES unit test; added unit tests for DES padding
2013-08-14 00:33:00 +12:00
Michal Kolodziej
7d6cc3c771
Initial support for node.js testing.
2013-05-12 23:27:48 +02:00
Michal Kolodziej
c77a17cf31
Twofish test is working once more.
2013-05-12 19:05:13 +02:00
Michal Kolodziej
3537b92a51
Cleanup of symmetric crypto functions and definitions. Broke a few tests.
2013-05-12 14:27:23 +02:00
Michal Kolodziej
664ab71686
Switch to browserify. Basic unit tests are working.
2013-05-11 21:55:48 +02:00
Michal Kolodziej
18236ac097
A ton of changes regarding browserify support. Non functional as of now.
2013-05-11 16:03:25 +02:00
Michal Kolodziej
f421dc0d72
Restructuring and more work on browserify support.
2013-05-11 08:25:53 +02:00
Michal Kolodziej
ccc0a4eb48
Initial browserify support. Symmetric encryption algorithms
...
and hashes are now working.
2013-05-10 23:50:00 +02:00
Michal Kolodziej
c64c75bf04
Merged public and secret keys where appropriate.
2013-05-10 19:09:24 +02:00
Michal Kolodziej
77acb5a59a
Working signature creation.
2013-05-09 16:51:25 +02:00
Michal Kolodziej
1e49e8ee23
Encryption of secret key packets is working.
2013-05-09 14:25:09 +02:00
Michal Kolodziej
945fa0ba51
Reading/decryption/signature verification side is working.
2013-05-09 09:37:12 +02:00
Michal Kolodziej
ab31b39d2f
Signature verification on primary key is working!
2013-05-09 09:31:50 +02:00
Michal Kolodziej
ba68203b56
Changed up the verification api - it accepts multiple packets now.
2013-05-08 23:11:57 +02:00
Michal Kolodziej
e1e2223e8f
Signature verification is working on literal packets.
2013-05-08 13:04:25 +02:00
Michal Kolodziej
dd5d0c801c
Secret key packet decryption is working though, there
...
is still work to be done in the decryption function
as it's quite a mess still.
2013-04-27 18:14:57 +02:00
Michal Kolodziej
03382cbec1
Made sym key and s2k writable.
2013-04-27 16:15:07 +02:00
Michal Kolodziej
a115cccc53
Fixed s2k implementation somewhat.
2013-04-26 18:54:41 +02:00
Michal Kolodziej
1f9bc46a81
Encryption to a subkey from a GPG generated message is working.
...
Still no decryption and keys are transmitted in plaintext!
2013-04-26 15:48:19 +02:00
Michal Kolodziej
6fe166fa87
Reading of unencrypted secret key packets seems to be working.
2013-04-25 17:28:43 +02:00
Michal Kolodziej
530a9a0c69
Changed mpi interface to a more sane variant - openpgp
...
methods MUST return openpgp_type_mpi, using BigIntegers
is prohibited as otherwise the wrapper has no point.
2013-04-24 10:46:43 +02:00
Michal Kolodziej
6d45a19f88
Public key encrypted sesssion key is working.
2013-04-24 09:08:55 +02:00
Michal Kolodziej
43c5d1b30d
Changed up the interface. Instead of a dedicated list,
...
all packets are directly on the packetlist object.
2013-04-23 10:19:01 +02:00
Michal Kolodziej
38330ea4a6
Sym encrypted session key is working, decryption of messages
...
from gpg works too! Fixed some minor bugs and got rid of a
few globals.
2013-04-23 10:03:28 +02:00
Michal Kolodziej
3a3764a436
Added test and working code to the sym encrypted integrity protected packet.
2013-04-22 19:56:51 +02:00
Michal Kolodziej
3f04470e1f
First working packet: writing/reading sym encrypted
...
and literal packets is working. Tests added.
2013-04-22 18:03:50 +02:00
Michal Kolodziej
c190784ffd
Working on making the new packet infrastructure run.
2013-04-22 17:04:20 +02:00
Michal Kolodziej
23295342fc
Added utf8 awareness to the literal and userid packet classes. Made s2k
...
work correctly with utf8 strings. Fixeda visibility issue with the
testing suite and added relevant unit tests.
2013-04-16 10:47:17 +02:00
Brian Bloniarz
2bb3c30025
openpgp_keyring include subkeys by ID
...
openpgp_keyring.getPublicKeysForKeyId will now search subkeys
when looking for the ID, and return a key object based on that
subkey.
Updated to add a method, getSubKeyAsKey, to openpgp_msg_publickey.
This returns a full-fledged openpgp_msg_publickey object for a
chosen subkey.
2013-02-13 22:31:27 -08:00
Brian Bloniarz
4a99ed0dfa
Add support for GnuPG type 1001 s2k extension
...
This is a Gnu extension for private keys with stripped secrets, which
can be created by GnuPG's --export-secret-subkeys mode.
Before this patch, "ERROR: unknown s2k type! 101" would be logged as an
error (though other than that, things seemed to function normally).
2013-02-06 08:36:56 -08:00
Brian Bloniarz
b128e2c521
Fix signature check scoping issue.
...
Signature checks were failing, in the binary-document case of
openpgp_packet_signature.verify() the variable i was being referenced
when there was no i in scope; instead it was getting 8 from a global
variable i, and trimming 8 bytes off the beginning of the data.
The global i was being set by the CAST5 cipher -- this also fixes
that to be a local variable.
Also add unit test to confirm.
2013-02-06 08:26:16 -08:00
Thomas Oberndörfer
0ec3252ba5
Use JXG for ZIP decompression
2012-08-27 14:33:48 +02:00
Thomas Oberndörfer
e42b53199e
Use jsxcompressor for ZLIB compressed data packets
2012-06-26 17:06:33 +02:00
Thomas Oberndörfer
028ee46d81
Merge zip.js and inflate.js into zip.js due to dependency in execution order. Remove inflate.js. Add import for zlib compression to test/encryption.html
2012-06-25 10:30:46 +02:00
Sean Colyer
8c2f987f9d
Fix tests to import openpgp.crypto.sym.js.
2012-05-18 20:22:40 -04:00
Tankred Hase
1f7a503fb1
refactored sha.js internally with module pattern so that it does not require a reference to the window object... external api stays the same
2012-04-06 19:42:44 +08:00
Alexander Willner
fb66c97eb5
added coverage preview
2011-12-16 13:37:49 +01:00
Carsten Wentzlow
377dd12d19
- added encryption.html for testing encrytion / decryption of messages
2011-12-14 11:33:20 +01:00
Carsten Wentzlow
f486f601af
- unit test for the openpgp_crypto API
...
- less debug output on blowfish and twofish test vectors
- adjusted unit test table width in css
2011-12-12 18:11:17 +01:00
Carsten Wentzlow
08cb01e932
adding unit tests for CAST-128 and TripleDES
2011-12-11 23:53:46 +01:00
Carsten Wentzlow
a037210a64
adding AES/Rijndael cipher unit test
2011-12-11 23:12:01 +01:00
Carsten Wentzlow
1aa1cb8d9a
- blowfish.js test file: rewording output message
...
- adding twofish.js test file with test vectors for 256 bit key length
2011-12-10 14:41:00 +01:00
Carsten Wentzlow
982e6992fc
- adding blowfish test
2011-12-09 20:16:38 +01:00
Carsten Wentzlow
81212f213f
adding restructured GPG4Browsers code
...
- created a test suite available at test/index.html
- fixed a bug in MD5 calculation
2011-12-09 18:25:41 +01:00
Alexander Willner
aafc8b0ee4
structure
2011-11-13 11:50:49 +01:00