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
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
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
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
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
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
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
Thomas Oberndörfer
a2db324605
Fix exception in packet.keymaterial.getKeyId() for V3 keys
2013-06-27 11:50:01 +02:00
Michal Kolodziej
7d6cc3c771
Initial support for node.js testing.
2013-05-12 23:27:48 +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
844ebcf254
Minor fixes, work on the msg.* subsystem.
2013-05-10 22:48:11 +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
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
3d25fdf8bf
Work on bending the signature packet to my will.
2013-05-04 23:05:46 +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
a907dfa7c9
Fixed time.
2013-04-27 16:46:19 +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
93a7a751fd
Started work on providing an uniform interface to all
...
packet classes that actually uses the object values
instead of igroring them.
2013-04-21 20:38:19 +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
Michal Kolodziej
51f8f95807
Finished changing all the javascript files, the documentation
...
now correctly generates via the use of the makefile.
2013-04-12 14:21:07 +02:00
seancolyer
f69fa5ccab
Fix bug with key material expecting s2k.type to exist which breaks with
...
passphrase-free keys.
2013-03-06 20:36:26 -05:00
Thomas Oberndörfer
37ade02c32
Fix exception on unknown signature
2013-02-28 10:28:10 +01: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
seancolyer
77974db1a6
Merge branch 'refactor'. Also marking resources/openpgp*.js files as
...
binary to make some merge/diffing easier.
Conflicts:
resources/openpgp.js
resources/openpgp.min.js
2013-01-14 20:44:58 -05:00
freewil
7dfda1ebf4
fix 2 minor typos
2013-01-04 11:58:51 -05:00
Sean Colyer
968dca9436
Initial work with refactor. Everything should still be functional, but more cleanup can still be done.
2012-10-07 23:44:58 -04:00
Sean Colyer
a50c7a7f4d
Fix for ZLIB issue (endless loop), and dynamic header lengths.
2012-10-06 11:39:07 -04:00
Sean Colyer
7aa4a83474
Updates to documentation. Most all classes should now be jsdoc compliant.
2012-09-11 21:54:42 -04:00
Thomas Oberndörfer
0ec3252ba5
Use JXG for ZIP decompression
2012-08-27 14:33:48 +02:00
Sean Colyer
f300b0a1c0
Started modifying inline docs to work with jsdoc3 project, https://github.com/jsdoc3/jsdoc . Built doc based on our source and added to doc directory. Our inline docs need more cleanup, but this document structure looks promising.
2012-08-21 23:23:06 -04:00
Thomas Oberndörfer
e42b53199e
Use jsxcompressor for ZLIB compressed data packets
2012-06-26 17:06:33 +02:00
Sean Colyer
245c93440f
Added decompression for RFC 1950 - ZLIB. Based this off of the fact that this RFC is heavily dependent on RFC 1951. This solution isn't perfect, it doesn't check the ADLER 32. This is a TODO.
2012-04-29 00:01:07 -04:00
Sean Colyer
66a090c85d
Added support for Decompressing messages of Type 1, RFC 1951 - ZIP.
2012-04-28 00:16:00 -04:00
Sean Colyer
c86c6043de
Fix key generation s2k c value to be a constant 96, which will equate to an iterator of 65536. This is the standard GPG uses.
2012-04-20 21:14:37 -04:00
Sean Colyer
7228228d96
Updates to work for s2k with AES encryption. Added numBytes to s2k reading with passphrase to account for s2k encryption with blocksize > hashsize output.
2012-04-10 22:04:29 -04:00
Sean Colyer
7375cf64ad
Changes to address issue in key generation where sometimes key ID's would not match between public/private keys. Time data was not being carried between the packet generation as it should have been.
2012-03-06 19:36:59 -05:00
Sean Colyer
cd509caa70
Changes to key generation to allow for creation of keys with passphrase. uses s2k type 3: salt+iter when a passphrase is provided.
2012-03-01 23:40:16 -05:00
Sean Colyer
d11fbaa1df
Changes to optimize decrypting. Changed toString in tag 18 to only print data in debug.
2012-02-20 23:27:57 -05:00
Sean Colyer
55496a3437
changes for github issue 25. [GPGTools compatibility] decryptSecretMPIs fails
2012-02-15 21:31:54 -05:00
Sean Colyer
645bbf3f16
Changed some debug statements to only call hexstrdump if debug is inactive by creating new print_debug_hexstr_dump method. Applied only for Tag 18 and overall package at this point, will push to full project after further testing.
2012-02-02 08:56:17 -05:00
Sean Colyer
4640686683
Changes for key generation. Basic RSA key generation now seems fully functional within the openpgp.js, but experiencing an issue interfacing with gpg.
2012-01-29 16:58:11 -05:00
Sean Colyer
a08d91f728
Changes to allow for key generation. Provides a basic framework for key generation with a functioning RSA implementation. Still work to be done for s2k and subkeys.
2012-01-16 00:04:27 -05:00
Carsten Wentzlow
377dd12d19
- added encryption.html for testing encrytion / decryption of messages
2011-12-14 11:33:20 +01:00
Carsten Wentzlow
d80e04d3f0
adding openpgp_encoding_eme_pkcs1_decode() function replacing the PKCS1 decoding in the encryptedsessionkey packet
2011-12-12 16:35:53 +01:00
Carsten Wentzlow
4f4d3b3a41
- removing executable flag from files
2011-12-09 18:29:47 +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