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
105ec06da3
Throw error when trying to use IDEA cipher
2014-03-18 18:42: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
Thomas Oberndörfer
e1fcc51d0e
OP-01-015 EME-PKCS1-v1_5 padding uses Math.random() (Critical)
2014-03-12 21:24:52 +01:00
Tankred Hase
3604f19eb9
Add onerror handler to Worker to see uncaught errors
2014-03-07 23:04:22 +01:00
Thomas Oberndörfer
6bb53f04b4
Merge pull request #176 from Matze2010/master
...
Possibility to set filename of literal data packet (tag 11)
2014-02-27 13:07:28 +01:00
Thomas Oberndörfer
1a4c504bc7
Fix packet partial body length
2014-02-27 13:01:47 +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
9e23b94db3
clean wroning api usage in cfb
2014-02-25 14:55:29 +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
afabb56d41
use forge sha256 implementation
2014-02-25 12:47:45 +01:00
Tankred Hase
31f9064e90
use string instead of array in cfb encrypt
2014-02-25 10:50:57 +01:00
Tankred Hase
47d86825e2
cleanup for loops, use strings += instead of array.push/join, use strict mode
2014-02-25 09:55:58 +01:00
Tankred Hase
6b81995dd5
remove aes args from global scope
2014-02-25 00:05:43 +01:00
Tankred Hase
d0c319dd49
minor optimizations in cfb mode
2014-02-24 21:30:21 +01:00
Thomas Oberndörfer
151694ff07
Write unhashed subpackets. Fix #178 .
2014-02-23 20:51:02 +01:00
Thomas Oberndörfer
5d4d3f5ba1
Fix structure cloning after keyid buffering change
2014-02-23 20:49:51 +01:00
Thomas Oberndörfer
efc384e71c
Keyring: separate storage for public and private keys. ImportKey method supports update.
2014-02-23 20:48:38 +01:00
Thomas Oberndörfer
d6e4e3c028
Add key update method. Fix getPrimaryUser: evaluation of most significant self signature.
2014-02-23 20:46:52 +01:00
Tankred Hase
fb2ca2ed03
Merge pull request #175 from openpgpjs/async-api
...
Async api
2014-02-12 22:20:40 +01:00
Tankred Hase
37c6ab8a0c
do clearer case checking and load minified lib in worker
2014-02-12 19:28:54 +01:00
Matze2010
3a984edb02
Possibility to set filename of literal data packet (tag 11)
...
The filename of the literal data packet was hardcoded to msg.txt. Now
one has the possibility to manually set the filename of the literal
data packet.
2014-02-12 17:54:36 +01:00
Tankred Hase
e431f686b1
update docs
2014-02-12 17:05:52 +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
Daniel
78adbdda42
Fixing typo as reported in issue #172
2014-02-11 14:56:48 -08:00
Thomas Oberndörfer
753b1fc637
Method getKeysForKeyId renamed and optimized, returns only single key. Deep optional parameter to search also in subkeys. Add method getKeyForLongId with same properties. Optimize access to keyid and fingerprint by using a buffer.
2014-02-10 18:57:17 +01:00
Thomas Oberndörfer
c47e1d8780
Fix getPrivateKeyForAddress. Replace global openpgp with specific modules.
2014-02-06 17:26:55 +01: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
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
a595d683a9
Add getExpirationTime method to Key and SubKey
2014-02-05 18:09:54 +01:00
Lars Olzem
69bf01fb86
fix keyring email check
2014-02-05 17:10:25 +01:00
Lars Olzem
c88718d1b6
add description
2014-02-05 14:29:40 +01:00
Lars Olzem
f5b88ea2ac
fix calue access
2014-02-05 14:01:27 +01:00
Lars Olzem
0f16fc4be4
add variable item name in localstore
2014-02-05 13:14:23 +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
abf0545208
Change internal representation of random data from Uint32Array to Uint8Array
2014-01-18 16:37:15 +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
c9910929df
Fix: clear subpackets of symmetrically encrypted packet after encryption
2014-01-15 19:44:00 +01:00
Thomas Oberndörfer
1fa47f0b4b
Web worker: add entropy estimation
2014-01-15 19:40:57 +01:00
Thomas Oberndörfer
17c6f90113
Unit tests for web worker. Only active for browsers.
2014-01-13 15:42:03 +01:00
Thomas Oberndörfer
3612fc12dc
Add web worker support. Load the whole library in a web worker
...
and make the high-level API accessible from an asynchronous proxy.
Entropy is seeded to worker on each generateKeyPair() call.
Allow serialization of packets and custom types for messaging API.
2014-01-13 13:56:06 +01:00
Robert Nelson
ec061ba101
Fix travis problem hopefully for real this time
2014-01-09 09:59:25 -08:00
Robert Nelson
4719966988
Fix travis problem
2014-01-09 09:40:57 -08:00
Robert Nelson
c951b64741
Merge branch 'nodejs-fixes' into standalone
...
Conflicts:
src/crypto/random.js
2014-01-09 08:04:21 -08:00
Robert Nelson
5768fd5b23
Fix nodejs support
2014-01-09 07:51:05 -08:00
Robert Nelson
4cabe075d5
Add standalone support
2014-01-09 07:31:00 -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
82fbc0ffa7
Merge branch 'pr/144'
2014-01-06 19:50:08 +01:00
Robert Nelson
f436c85482
Add a bunch of links to documentation
2014-01-05 23:10:19 -08:00
Robert Nelson
0c6b345ba8
Refactor classes
2014-01-05 10:13:25 -08:00
Tankred Hase
06e4b83943
fix tests
2014-01-03 21:53:41 +01:00
Tankred Hase
3d67721fb5
remove old files
2014-01-03 20:40:05 +01:00
Tankred Hase
deb64215c8
Merge remote-tracking branch 'origin/devel'
2014-01-03 19:26:40 +01:00
Robert Nelson
31b5427c87
Merge branch 'devel' into lint-fixes
2014-01-03 10:11:36 -08:00
Tankred Hase
1cec81d576
merged devel into master
2014-01-03 18:48:27 +01:00
Robert Nelson
3d4dfaea87
Add function names to constructors
2014-01-02 12:50:48 -08:00
Robert Nelson
dba6f379e8
Fix all the lint noise, mostly semicolons, duplicate var definitions and ==0
2014-01-02 12:24:10 -08:00
Robert Nelson
17ad1f5fed
More documentation fixes
2013-12-26 22:49:37 -08:00
Robert Nelson
40a5af2aae
Fixup more documentation links
2013-12-22 23:44:41 -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
a31fe80a2c
Merge readPublicKey for V3 and V4
2013-12-12 16:17:01 +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
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
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
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
Robert Nelson
03d0d44061
Signature fixes
2013-12-05 22:31:33 -08:00
Robert Nelson
e6a116d14e
Fix warnings from 'make minify' + other bugs
2013-12-05 20:12:20 -08:00
Robert Nelson
f0c2427895
Array indexing on strings is nonstandard and doesn't work on IE
2013-12-05 20:03:08 -08:00
Robert Nelson
f07702e867
More consistency changes
2013-12-05 12:29:52 -08:00
Robert Nelson
e965b6771b
Cleanup canonical message handling for signatures
2013-12-05 12:21:23 -08:00
Tankred Hase
8c16abbfee
bugfix for only call showMessage if it was defined
2013-12-05 12:37:55 +01:00
Tankred Hase
fecad8b8c0
only call showMessage if it was defined
2013-12-05 12:33:03 +01:00
Robert Nelson
8110782633
Fix checksum failure debug message
2013-12-04 15:42:56 -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
Robert Nelson
63db9246c6
Enhance debugging output and fix escaped dashes.
2013-12-01 17:46:56 -08:00
Robert Nelson
e1908496c7
Add verification for version 3 signatures
2013-11-30 22:29:28 -08:00
Robert Nelson
84f6483cba
Fix signing with version 3 keys
2013-11-30 21:17:04 -08:00
Robert Nelson
1f4911450b
Resolve two more situations
...
Handle messages with strings of dashes.
Work around IE bug with split().
2013-11-30 12:29:47 -08: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
Robert Nelson
f59fa54ecf
Fix ascii dearmor and signature verification bugs
2013-11-29 19:29:57 -08:00
Robert Nelson
b4676d2ad8
Merge branch 'misc-fixes' into signature-fix
2013-11-29 18:34:36 -08:00
Robert Nelson
8b854a2ad1
Fix warnings from 'make minify' + other bugs
2013-11-29 17:08:17 -08:00
Robert Nelson
e4e69749a6
Don't use array indexing on strings it is nonstandard and doesn't work on IE
2013-11-29 16:10:56 -08: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
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
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
Thomas Oberndörfer
646e370df7
First draft of encrypt message function
2013-10-18 20:21:58 +02: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
11acf33665
Including @arlolra changes to improve MillerRabin
2013-10-09 19:16:31 -04:00
seancolyer
b94566a154
Rebuilding binaries. Fixing minor issue with PR#105
2013-10-09 19:09:54 -04:00
Sean Colyer
81fdb00418
Merge pull request #111 from cryptoreddit/patch-1
...
In Base64 encoding, if result ends in \n, remove it. (Fixes #79 , #105 )
2013-10-09 16:06:42 -07:00
Sean Colyer
a856396016
Merge pull request #82 from arlolra/bases
...
Avoid repeating bases in MillerRabin.
2013-10-09 16:05:19 -07:00
Sean Colyer
14e50a4661
Merge pull request #105 from dcposch/master
...
Fixed ASCII armor decoding bug
2013-10-09 15:44:35 -07:00
cryptoreddit
ad1983ac12
In Base64 encoding, if result ends in \n, remove it. ( Fixes #79 , #105 )
2013-10-09 09:58:13 -07:00
Niklas Femerstrand
4379bba2cd
Fixes erroneous linefeed handle in write_signed_message()
...
Fixes #109 , courtsey of encomiast
2013-10-09 23:36:46 +07:00
seancolyer
7abaa43497
Initial gruntfile support. Forcing a standardized style.
2013-10-08 22:33:36 -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
DC
d19d1993c6
Fixed ASCII armor decoding bug
...
Sometimes, there's a blank line between the encoded message body and the checksum line at the end. In those cases, decryption used to crash. Changed only openpgp_encoding_deArmor() in openpgp.encoding.asciiarmor.js to make it resilient to this case.
Cleaned up copy+pasted code in the same function. No other changes.
2013-09-22 20:29:33 -07: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
atrevarrow
41f0a040e9
Fixed DES/TripleDES padding and added unit tests
2013-08-27 23:23:58 +12:00
seancolyer
ba8a964d05
Merge branch 'pr/95'. Had to manually build make because previously
...
merged pr96.
Conflicts:
resources/openpgp.js
resources/openpgp.min.js
2013-08-25 19:11:12 -04:00
seancolyer
020a46ea3b
Test cleanup.
2013-08-22 22:47:46 -04:00
Thomas Oberndörfer
ee993ec623
Convert userId to UTF8 before generating signature
2013-08-20 16:24:23 +02: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
Thomas Oberndörfer
322f57cc17
Handle wrong UTF8 encodings gracefully
2013-07-12 14:59:38 +02:00
Thomas Oberndörfer
a2db324605
Fix exception in packet.keymaterial.getKeyId() for V3 keys
2013-06-27 11:50:01 +02:00
Thomas Oberndörfer
5898cea4de
DeArmor: remove whitespace of blank line
2013-06-25 16:25:10 +02:00
Arlo Breault
ab32d1b9e1
Avoid repeating bases in MillerRabin.
2013-06-15 22:39:32 -07: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