Sanjana Rajan
adb0148ca1
fix #748 , signature cloning in verification objects
2018-07-30 15:32:17 +03:00
Wiktor Kwapisiewicz
19e3c344fd
Fix verification of User Attributes
...
This change corrects verification of certifications over User Attributes
(such as photos).
Before this change the code did not differentiate between User IDs and
User Attributes as both of them were stored in `data.userid` [0] and
incorrectly used the User ID constant (0xB4) for both cases.
This change fixes the bug by storing User IDs in `userId` property and
User Attributes in `userAttribute` property. The check for property
existence has been modified to avoid comparisons with `undefined` as the
`User` class sets `null` for not assigned packets instead of
`undefined`.
Only data structures for signing and verification were modified and not
the properties used in the `User` class.
[0]: 11b2d2de3c/src/key.js (L872)
2018-07-24 13:03:46 +02:00
Daniel Huigens
91b7165b78
Add key/subKey.getKeyId, getFingerprint, getAlgorithmInfo, getCreationTime, isDecrypted
2018-07-19 15:03:25 +02:00
Wiktor Kwapisiewicz
0099c373d2
Fix reading signersUserId packet in signatures
...
This bug caused all signersUserIds strings to be prefixed with `"null"`
string. Changed to use only the last value for this packet type.
Previous implementation probably assumed that there will be more than one
signersUserId packet but I haven't been able to generate such signature
using gpg (only last user id was embedded). Moreover signature
serialization function `write_all_sub_packets` writes only one value of
this packet as a UTF-8 string.
2018-06-27 12:17:19 +02:00
Sanjana Rajan
bcfb9c037a
fix case with binary signatures on text data
2018-05-22 14:58:13 -07:00
Sanjana Rajan
33d5b158f8
fix #706 - if ignore_mdc_error is set to false then MDC is required for all symmetrically encrypted data
2018-05-15 00:04:58 -07:00
Sanjana Rajan
4926667cf9
Merge pull request #694 from twiss/eslint-cleanup
...
Remove some ESLint silencers
2018-05-03 08:05:57 -07:00
Daniel Huigens
4afaae13ca
Remove unused variables
2018-05-03 13:07:52 +02:00
Daniel Huigens
95b9e5188a
Remove some ESLint silencers
2018-05-01 17:36:15 +02:00
Daniel Huigens
6c2fec3450
Parse user IDs
...
Also, support comments when creating user IDs
2018-05-01 13:39:23 +02:00
Daniel Huigens
a7fce27424
Safari 8 compatibility
2018-04-30 16:58:37 +02:00
Daniel Huigens
04651e359a
Rename enums.aead.gcm to experimental_gcm
...
So that (1) if the spec ever defines GCM differently than we do, we have a
clean upgrade path and (2) it makes it clear that it's experimental.
2018-04-30 15:55:37 +02:00
Daniel Huigens
bbf71d149b
Deduplicate OCB encrypt / decrypt
2018-04-30 15:55:37 +02:00
Daniel Huigens
e8adeef278
Implement Issuer Fingerprint subpacket
2018-04-30 15:55:37 +02:00
Daniel Huigens
310d8dd9b9
Fix V5 key fingerprint in ECDH parameters
2018-04-30 15:55:36 +02:00
Daniel Huigens
4568d080d5
Fix decryption with multiple chunks
2018-04-30 15:55:34 +02:00
Daniel Huigens
485cb17e95
Deduplicate SymEncryptedAEADProtected encrypt / decrypt
2018-04-30 15:55:34 +02:00
Daniel Huigens
ebeedd3443
Fix removing whitespace from the last line of cleartext signed messages
...
Also, move normalizing line endings and removing whitespace to util functions
2018-04-30 15:55:33 +02:00
Daniel Huigens
e061df113c
Implement GCM mode in the new draft
...
Also, implement additional data for GCM
2018-04-30 15:55:31 +02:00
Daniel Huigens
51d7860622
Native CMAC
2018-04-27 14:06:19 +02:00
Daniel Huigens
6f2abdc2cf
Implement MIME message type (Literal Data Packet format 'm')
2018-04-27 14:06:19 +02:00
Daniel Huigens
3b81088aaf
Decouple signature type from data packet type
...
Instead of creating a text signature for text packets and a binary signature for
binary packets, we determine the signature type based on whether a String or
Uint8Array was originally passed. This is useful for the new MIME data packet
type (implemented in the next commit) which you can pass in either format.
This also partly reverts a22c9e4
. Instead of canonicalizing the literal data
packet, we canonicalize the data when signing. This fixes a hypothetical case
where an uncanonicalized text packet has both a text and a binary signature.
This also partly reverts c28f7ad
. GPG does not strip trailing whitespace when
creating text signatures of literal data packets.
2018-04-27 14:06:19 +02:00
Daniel Huigens
2f849063f9
Allow reusing EAX/OCB instances with the same key
...
This is useful for chunked encryption in draft04
2018-04-27 14:06:19 +02:00
Daniel Huigens
28dbbadcff
Add config.aead_protect_version option
2018-04-27 14:06:17 +02:00
Daniel Huigens
5f97a8c937
Implement preferred AEAD algorithms
2018-04-27 14:06:16 +02:00
Daniel Huigens
c6ba83c4a3
Allow configuring openpgp in unit tests using query params (e.g. ?debug=true&use_native=false)
2018-04-27 14:06:15 +02:00
Daniel Huigens
c2f898279b
Implement version 5 Secret-Key Packet Format
2018-04-27 14:06:14 +02:00
Daniel Huigens
5d43b44e50
Log swallowed errors in debug mode
2018-04-27 14:06:14 +02:00
Daniel Huigens
17ad654d60
Implement version 5 Symmetric-Key Encrypted Session Key packet
2018-04-27 14:06:13 +02:00
Daniel Huigens
7b3f51c0d4
Implement AEAD Encrypted Data Packet
2018-04-25 20:12:10 +02:00
Sanjana Rajan
c28f7ad4d7
always remove trailing whitespace from lines when canonicalizing
2018-04-17 08:41:52 -07:00
Sanjana Rajan
a22c9e4770
WIP text signatures
2018-03-22 16:10:21 -07:00
Sanjana Rajan
eb96d44298
add date parameter to generateKey function
2018-03-19 18:55:15 -07:00
Emeric Chevalier
e257e7a570
Fix parsing of revocation subkey fingerprint
2018-03-18 19:45:12 +01:00
Sanjana Rajan
75cd4e5e6f
some fixes, add expired key test
2018-03-17 07:32:56 -07:00
Sanjana Rajan
a41fc29b44
typo fix
2018-03-16 11:52:45 -07:00
Mahrud Sayrafi
96c9cd0d73
Fixes dead links in the documentation
2018-03-13 00:13:04 -07:00
Mahrud Sayrafi
4ded3f9d58
Documentation improvements in src/packet
2018-03-09 08:01:06 -08:00
Mahrud Sayrafi
a5e7562066
Many documentation improvements; more to come
2018-03-08 19:27:57 -08:00
Mahrud Sayrafi
08da24de27
documentation fixes
2018-03-08 10:55:58 -08:00
Mahrud Sayrafi
0b2817ba39
Last little things become async ...
2018-03-08 10:01:55 +01:00
Mahrud Sayrafi
73a240df6c
Simplifies (Key|User|SubKey).isRevoked, API changes in key.js
...
For User s/revocationCertifications/revocationSignatures/g
For Key/SubKey s/revocationSignature/revocationSignatures/g is now an array.
2018-03-08 10:01:54 +01:00
Mahrud Sayrafi
ec22dabac3
Slightly simplifies key.js; adds key.verifyKeyPackets which should be run before getEncryption/SigningKeyPacket
2018-03-08 10:01:54 +01:00
Bart Butler
1cd9018346
some cleanup
2018-03-06 10:04:33 -08:00
Bart Butler
f57888fe55
change all calls of getRandomBytes and getRandomBN to be async
2018-03-05 16:31:56 -08:00
Bart Butler
b088f005da
simplify random.js
2018-03-05 12:18:04 -08:00
Mahrud Sayrafi
9e1236c04c
Modernizes util.js
2018-02-28 15:49:41 -08:00
Mahrud Sayrafi
9275119dbc
Enables JSDoc Markdown Plugin
2018-02-28 14:13:44 -08:00
Mahrud Sayrafi
7eef65926a
Simplifies elliptic/curve.js
2018-02-28 00:58:50 -08:00
Mahrud Sayrafi
3df0997f4d
Cleanups
2018-02-26 20:01:01 -05:00
Mahrud Sayrafi
d40e8fe428
Use asmcrypto.js directly + quickfix
2018-02-22 11:51:21 -08:00
Mahrud Sayrafi
1812166a53
RSA using asmcrypto with asmcrypto bignum
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
605021af3b
Various quickfixes and cleanups
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
e1d85ba682
ElGamal and MPI use bn.js; TODO: RSA Key Generation
2018-02-22 00:37:42 -08:00
Mahrud Sayrafi
aee8974ef5
RSA signatures now use asmcrypto.js; various fixes and tweaks
2018-02-22 00:37:41 -08:00
Mahrud Sayrafi
ed4cef102a
This branch uses the current version of asmcrypto.js
2018-02-22 00:37:41 -08:00
KAYLukas
a5b30468ef
Check creation time in expiration checks
2018-02-22 00:41:12 +01:00
KAYLukas
6b4d44dbb1
Fix browser tests
2018-02-19 22:12:24 +01:00
KAYLukas
071fc35f38
Check created time to be valid and discard milliseconds from date objects
2018-02-17 11:28:04 +01:00
KAYLukas
6ca8bc2180
Add timeparameter for verification and remove verify_expired_keys
2018-02-16 17:20:48 +01:00
KAYLukas
7e66ea20db
Add timeparameter to signing and encryption
2018-02-16 17:20:48 +01:00
Bart Butler
7286116f1c
add deflate_level to config
2018-02-15 09:44:31 -08:00
Bart Butler
c8adaff826
change JS zlib to pako, use Node zlib if available
2018-02-14 14:21:53 -08:00
mmso
8808fdb8ed
Fix #607 - Add support for bzip2 de/compression
2018-02-14 14:14:07 +01:00
BafS
9eb574b6c4
Hotfix - change var for const
2018-02-13 23:46:44 +01:00
BafS
b672f1936a
Use let and const ES6 features.
...
Remove var, for let or const if possible, clean some syntax, enforce one var per declaration and semicolons
2018-02-13 23:33:09 +01:00
BafS
de6ffc2f76
Remove 'user strict'
...
'use strict' is unnecessary inside modules because module code is always strict mode code. Ref: https://www.ecma-international.org/ecma-262/6.0/#sec-strict-mode-code
2018-02-13 23:33:09 +01:00
Sanjana Rajan
de51d418d2
algorithm info for public key, include curve for ecc and bits for non-ecc
2018-02-13 21:23:13 +01:00
mmso
9f7466ef45
Add compression support for the encrypt function
2018-02-13 15:08:41 +01:00
Bart Butler
7bd78585fd
Merge pull request #629 from dkg/http-to-https
...
move from http to https where possible.
2018-02-08 13:36:14 -08:00
Mahrud Sayrafi
d851398b0c
Merge branch 'master' into http-to-https
2018-02-08 10:56:46 -08:00
Mahrud Sayrafi
0ebe0972e7
Merge branch 'master' into speling
2018-02-08 10:46:42 -08:00
Mahrud Sayrafi
1383107202
Fixed and unmuted a few eslint errors, ~10 remain
2018-02-07 04:23:16 -08:00
Mahrud Sayrafi
115d1c0949
A better patch for EdDSA truncation issue.
...
The last test in test/general/x25519.js is commented, as it seems to defy logic.
Yet it can be successfully imported by GPG2. TODO: How?
2018-02-03 14:36:20 -08:00
Daniel Kahn Gillmor
1799107aac
Fix typos
...
This patch contains several trivial/inconsequential orthographic
fixes.
2018-02-01 10:03:41 -05:00
Daniel Kahn Gillmor
4da28fcc29
move from http to https where possible.
...
There are dozens of links in the OpenPGP.js codebase that are http but
could be replaced with https links. I've converted as many of them as
i could find.
2018-02-01 09:58:06 -05:00
Mahrud Sayrafi
a4134b9f55
Addresses various review comments by @bartbutler + some cleanups
2018-01-31 17:52:38 -08:00
Mahrud Sayrafi
d97bc064ea
Cleanups and doc fixes
2018-01-31 12:24:21 -08: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
35f18444b0
keygen and sign/verify with ed25519 works
2018-01-30 18:34:54 +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
11a2d0070b
ESLint is happy!
2018-01-30 18:31:30 +01:00
Sanjana Rajan
311d288bb7
clone processing
2018-01-30 18:30:16 +01:00
Sanjana Rajan
f8bfde7447
comments, docs
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
fade832619
remove material parameter for now
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
38a53c1bb1
Parse and create ECDH packets
2018-01-30 18:30:14 +01:00
Ismael Bejarano
673151ec87
Read and write ECDSA packets
2018-01-30 18:30:14 +01:00
Sanjana Rajan
9893d602e2
account for non-cleartext sign/verify message parameters
2017-10-09 17:27:02 -07:00
Sanjana Rajan
28e5f5d3f4
allow cleartext msg data to be string or byte array
2017-07-04 14:15:39 -07:00
Sanjana Rajan
b51b8ad341
add tolerant mode which suppresses errors in reading non-data packets
2017-04-05 07:54:08 -07:00
Sanjana Rajan
4ec07672a7
return signature object inside verification object
2017-03-10 10:38:59 -08:00
Sanjana Rajan
da9e3c6264
small fixes
2017-03-07 19:10:33 -08:00
Sanjana Rajan
465d4643a8
add clone to packetlist support for signature objects
2017-03-07 16:51:08 -08:00
Alax Villmann
e526cf0a3b
Generate valid version 3 signatures
2017-01-26 12:49:49 -08:00
Alax Villmann
0989015ed2
V3 header generation was concat()-ing non-Uint8 arrays
2017-01-09 10:30:31 -08:00
Sanjana Rajan
8620220cfb
reset encrypted field to null when decrypting secret key
2016-10-26 16:55:49 -07:00
Tankred Hase
e3cbaba33a
Be sure to only pop unsupported packet if already pushed
2016-06-08 11:30:53 +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
Tankred Hase
4070e27959
Cleanup of AES-CFB code in integrity protected packet
2016-03-25 16:10:27 +08: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
c8569e0cd5
Add version attribute to the AEAD packet
2016-03-24 10:53:35 +08:00
Tankred Hase
8f8218e9de
Cleanup and test AEAD protected packet
2016-03-22 17:45:19 +08:00
Tankred Hase
149f5d5191
Use promise api in sym_encrypted_* packets
2016-03-22 17:45:18 +08:00
Tankred Hase
ded8926b27
Support AES-GCM with AEAD Protected Data Packets
...
Closes openpgpjs/openpgpjs#421
2016-03-22 17:44:22 +08:00
Harry Marr
68d1b5a35c
Handle carriage-return only newlines
...
Newlines are normalised to \r\n, but that previously assumed that only
\r\n and \n newline characters could be used. Even though \r newlines
are rarely used in the wild, it's be helpful to support them. Currently,
they're just removed entirely.
2016-02-14 12:01:19 +00:00
Tankred Hase
000c3b3686
Revert "Decode utf8 text only for correct format in Literal.getText()"
...
This reverts commit 83fcbaa633
.
2016-02-10 15:33:45 +07:00
Tankred Hase
6547b4ef68
Test encrypt/decryptSessionKey and finalize api, review docs
2016-02-10 12:52:13 +07:00
Tankred Hase
4f6e036a07
Cleanup packet list clonong --> src/packet/clone.js
2016-02-09 19:01:30 +07:00
Tankred Hase
83fcbaa633
Decode utf8 text only for correct format in Literal.getText()
2016-02-06 22:58:43 +07:00
Tankred Hase
d40c3e81d9
Cleanup code of src/packet/literal.js
2016-02-06 14:22:19 +07:00
Tankred Hase
f87d8d0433
Fix parsing packets from tag in web worker
2016-02-05 15:39:11 +07:00
Tankred Hase
70ac662073
Refactor src/packet/*.js to use import & export
2016-02-05 14:44:22 +07:00
Tankred Hase
bcfc8ef7f7
Use npm published asmcrypto-lite module
2016-02-04 21:47:40 +07:00
Tankred Hase
3bf421206b
Further cleanup of sym_encrypted_integrity_protected.js
2016-02-04 16:41:40 +07:00
Tankred Hase
642f754169
Add more files to linting, make strict mode optional for each file
2016-02-04 16:41:37 +07:00
Tankred Hase
cfe058596f
Include asmCrypto via npm
2016-02-04 09:42:49 +07:00
Tankred Hase
90a7457b71
Refactor most src files to strict mode, delint
2016-02-04 00:37:00 +07:00
Tankred Hase
346aa8f11a
Cleanup node.js api detection
2016-02-03 20:24:54 +07:00
Tankred Hase
68d298c948
Fix node.js detection
2016-02-03 20:24:54 +07:00
Bart Butler
469a6be31a
Rebase for upload to main openpgpjs repo
2016-02-03 20:24:54 +07:00
Bart Butler
f56b6887d9
native crypto and hash for nodeJS
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
5711028449
does not pass tests yet
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
2e4e9387a0
Fixes for symmetrically encrypted session keys
2016-02-03 20:24:54 +07:00
Artem Chudinov
3e2f34ac62
Add missing semicolons
2016-01-07 15:35:47 +01:00
Thomas Oberndörfer
2ee347154c
Symmetrically encrypted packet: raise error if MDC is missing for modern cipher.
2016-01-07 15:35:47 +01:00
evilaliv3
9589fa0b52
Apply mixed code review thanks to webstorm inspector
2016-01-07 14:46:55 +01:00
Peter Breitling
07e4278a3a
Optimized memory footprint for encrypting and decrypting
2015-06-10 21:12:55 +02:00
Tankred Hase
bed393063d
Merge pull request #272 from laktak/compress
...
Compression Support
2014-12-09 15:36:41 +01:00
Christian Zangl
da650e2d63
add compression support (for zip & zlib) using https://github.com/imaya/zlib.js
...
add zlibjs dependency, grunt task
fix compData vs compdata bug
2014-12-04 22:29:33 +01:00
Christian Zangl
8d08d0bd1a
fix symkey version
2014-11-12 16:47:32 +01:00
Tankred Hase
2362cce642
Merge pull request #259 from openpgpjs/promises
...
Refactor public api to use ES6 Promises
2014-10-20 16:12:13 +02:00
Tankred Hase
562831d6dc
Merge pull request #245 from inovari/master
...
Bugfix in packet_length calculation
2014-10-02 00:24:23 +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
060da64aab
Key generation: do not clear private MPIs for keys without passphrase.
2014-07-30 16:36:01 +02:00
inovari
91ccbeed80
Bugfix in packet_length calculation
...
One of the bitshifts used to construct tmplen (lines 230-231) was inconsistent with the other expressions:
(input[mypos2++].charCodeAt() << 8)
causing following error:
TypeError: Cannot call method 'charCodeAt' of undefined
at Object.module.exports.read (/home/scott/dev/keystone/fetch/node_modules/openpgp/src/packet/packet.js:231:16)
Corrected to
(input.charCodeAt(mypos2++) << 8)
2014-07-16 15:37:06 -04: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
82b18c61f3
Add empty read method to trust packet. Otherwise import of key with a trust packet will fail. Trust packets are ignored and filtered out by the Key class.
2014-04-04 17:33:30 +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
d28eb4406d
Fix error message for unsupported key packet version
2014-04-02 12:39:35 +02:00
Thomas Oberndörfer
06adf49122
Merge pull request #202 from PawelGorny/fixSigUnknwTypeNotation
...
An implementation SHOULD ignore any subpacket of a type that it does not recognize
2014-03-31 12:39:30 +02:00
Thomas Oberndörfer
867900cb37
Merge pull request #188 from toberndo/fix_partial_body_length
...
Fix packet partial body length
2014-03-31 12:13:23 +02: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
ed13502dc2
OP-01-025 EME-PKCS1-v1_5 Error Handling in RSA Decryption (High). Rewrite pkcs1.eme.decode() and pkcs1.eme.encode(). Add fix from jsbn 1.4 release.
2014-03-27 12:58:58 +01:00
PawelGorny
48ec28fef2
An implementation SHOULD ignore any subpacket of a type that it does not
...
recognize.
2014-03-24 21:36:57 +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
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
d6e4e3c028
Add key update method. Fix getPrimaryUser: evaluation of most significant self signature.
2014-02-23 20:46:52 +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
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
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
1fa47f0b4b
Web worker: add entropy estimation
2014-01-15 19:40:57 +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
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
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
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
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
03d0d44061
Signature fixes
2013-12-05 22:31:33 -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
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
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
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