Commit Graph

44 Commits

Author SHA1 Message Date
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
Tankred Hase
bbe174828f Upgrade license to LGPL version 3.0 or later. 2014-09-30 18:16:58 +02:00
Thomas Oberndörfer
069b97d16f Fix sorting of primary users 2014-09-03 14:38:31 +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
62debad52d Allow removal of passphrase protection by calling encrypt with an empty passphrase 2014-07-01 15:02:09 +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
Thomas Oberndörfer
8ea87050bd Minimize signature verifications to evaluate primary user 2014-04-26 10:50:55 +02:00
Thomas Oberndörfer
9413cd6e7f Drop key packets not in a meaningful order according to RFC4880 "11. Packet Composition" 2014-04-02 18:28:08 +02: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
22e4540ed9 OP-01-007 Algorithm Preferences ignored upon Encryption (Low) 2014-03-18 17:45:15 +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
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
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
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
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
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
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
f6176ed484 Move key generation to Key class 2013-12-04 16:45:14 +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
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
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
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
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
7abaa43497 Initial gruntfile support. Forcing a standardized style. 2013-10-08 22:33:36 -04:00
Michal Kolodziej
844ebcf254 Minor fixes, work on the msg.* subsystem. 2013-05-10 22:48:11 +02:00