larabr
ca092c7cd0
Speed up decryptKey and encryptKey ( #1192 )
...
Change `openpgp.decryptKey` and `openpgp.encryptKey` to avoid deep cloning the
original key.
2021-02-09 19:25:20 +01:00
larabr
66c06dab3e
Check if any (sub)key is decrypted in Key.prototype.isDecrypted ( #1182 )
...
`key.isDecrypted()` now returns true if either the primary key or any subkey
is decrypted.
Additionally, implement `SecretKeyPacket.prototype.makeDummy` for encrypted
keys.
2021-02-09 19:25:20 +01:00
larabr
c23ed58387
Require User IDs to be objects; refactor UserIDPacket ( #1187 )
...
- `openpgp.generateKey` now expects `userIds` in object format
(strings are no longer supported)
- Remove `util.parseUserId` and `util.formatUserId`
- Replace `UserIDPacket#format` with `UserIDPacket.fromObject`
2021-02-09 19:25:20 +01:00
larabr
724775816f
Add explicit key type parameter in openpgp.generateKey ( #1179 )
...
- Changes `openpgp.generateKey` to accept an explicit `type` parameter,
instead of inferring its value from the `curve` or `rsaBits` params
- Introduces `config.minRsaBits` to set minimum key size of RSA key generation
2021-02-09 19:25:20 +01:00
larabr
92887a0948
Revert to disabling AEAD encryption by default ( #1190 )
2021-02-09 19:25:20 +01:00
larabr
801430f969
Revert to generating v4 keys by default ( #1189 )
2021-02-09 19:25:20 +01:00
larabr
2ee36c2984
Drop inconsistent boolean returns and fix type definitions ( #1191 )
...
- Remove the boolean return value of various internal functions that throw on
error (the returned value was unused in most cases)
- Update and fix type definitions
2021-02-09 19:25:20 +01:00
larabr
89f738da45
Fix EOL in streaming tests
2021-02-09 19:25:20 +01:00
larabr
286d991265
Fix parsing of short P-521 keys and EdDSA, RSA signatures ( #1185 )
...
Also, strip leading zeros when serializing MPIs, as per the spec.
2021-02-09 19:25:20 +01:00
larabr
c34dede6de
Use \n instead of \r\n for EOL when armoring ( #1183 )
2021-02-09 19:25:20 +01:00
larabr
4efeac3ad1
Unexport low-level key functions ( #1188 )
2021-02-09 19:25:20 +01:00
Tom J
c5aa647e31
Add TypeScript definitions ( #1186 )
2021-02-09 19:25:20 +01:00
Daniel Huigens
4c15724caf
Appease linter
2021-02-09 19:25:20 +01:00
Daniel Huigens
c2146ce165
Fix CI for older environments
2021-02-09 19:25:20 +01:00
Daniel Huigens
2382482090
[v5] Unexport openpgp.util, openpgp.crypto, and low-level types ( #1175 )
2021-02-09 19:25:20 +01:00
larabr
479d826533
Remove armor comment and version by default ( #1170 )
2021-02-09 19:25:20 +01:00
Daniel Huigens
86238e714e
Remove unused functions in tests
...
These functions are unused since e83bc4b4.
2021-02-09 19:25:20 +01:00
Dan Ristea
331a0c27a9
Store named signature parameters ( #1158 )
...
Also, remove the now-unnecessary MPI type.
2021-02-09 19:25:20 +01:00
Dan Ristea
400ae63c5e
Fix minor JSDoc and style issues ( #1156 )
2021-02-09 19:25:20 +01:00
Daniel Huigens
a620fc0276
Don't use unexported low-level functions in tests
2021-02-09 19:25:20 +01:00
Daniel Huigens
b3e08fdc26
Don't export default objects / namespaces
...
Import individual functions, instead.
2021-02-09 19:25:20 +01:00
Daniel Huigens
f276e1ef51
Export key, message, signature, cleartext functions and classes directly
...
Instead of as modules.
Replace *.read with read*, *.readArmored with readArmored*, etc.
Replace cleartext.readArmored with readArmoredCleartextMessage.
Replace message.fromText with Message.fromText, etc.
2021-02-09 19:25:20 +01:00
larabr
3a75eadaa0
Store named key params in key objects ( #1141 )
...
- Store private and public params separately and by name in objects,
instead of as an array
- Do not keep params in MPI form, but convert them to Uint8Arrays when
generating/parsing the key
- Modify low-level crypto functions to always accept and return
Uint8Arrays instead of BigIntegers
- Move PKCS1 padding to lower level functions
2021-02-09 19:25:20 +01:00
larabr
8854b097b4
Use native BigInt when available instead of bn.js ( #1119 )
...
In the lightweight build, lazily load bn.js only when necessary.
Also, use Uint8Arrays instead of strings in PKCS1 padding functions, and
check that the leading zero is present when decoding EME-PKCS1 padding.
2021-02-09 19:25:20 +01:00
Wiktor Kwapisiewicz
fe2949f16d
Allow parsing keys without User IDs ( #1146 )
2021-02-09 19:25:20 +01:00
larabr
8d67af729a
Use higher level functions in key validation tests ( #1128 )
...
Use `key.keyPacket.validate` instead of `crypto.publicKey.validateParams`, see
https://github.com/openpgpjs/openpgpjs/pull/1116#discussion_r447781386 .
Also, `key.decrypt` now only throws on error, no other value is returned.
Also, fix typo (rebase error) that caused tests to fail in Safari for p521.
2021-02-09 19:25:20 +01:00
Dan Ristea
10aa1aa5cb
JSdoc types & ESLint fixes ( #1132 )
2021-02-09 19:25:20 +01:00
larabr
f6ee6e959e
Finish merging key validation
2021-02-09 19:25:20 +01:00
Daniel Huigens
6a607c7567
Rename SymEncryptedAEADProtectedDataPacket to AEADEncryptedDataPacket
2021-02-09 19:25:20 +01:00
Daniel Huigens
aea7aa953a
Use ES6 classes
2021-02-09 19:25:20 +01:00
Daniel Huigens
fb3d23427d
Allow dead code elimination
2021-02-09 19:25:20 +01:00
Daniel Huigens
f3b16386dc
Use dynamic import in lightweight build
...
Instead of dynamically loading a <script> tag.
This also removes the non-module lightweight build.
2021-02-09 19:25:20 +01:00
Daniel Huigens
175eac5670
Remove compat polyfills
2021-02-09 19:25:20 +01:00
Daniel Huigens
0c5598a0fc
Replace remaining grunt tasks with npm scripts
2021-02-09 19:25:20 +01:00
Daniel Huigens
0e33e641af
Switch build system to rollup
...
Also, default to minimized builds.
2021-02-09 19:25:20 +01:00
Ilya Chesnokov
6e648b1cbc
Rename enums to use camelCase ( #1093 )
2021-02-09 19:25:20 +01:00
Ilya Chesnokov
e16807505f
Switch util function names to camelCase ( #1091 )
2021-02-09 19:25:20 +01:00
Ilya Chesnokov
d415bc2546
Rename config option names to camelCase ( #1088 )
2021-02-09 19:25:20 +01:00
Daniel Huigens
63b6d215e3
Allow key.validate() to pass if it has a GNU dummy primary key
...
A valid signing subkey is required, in this case.
2021-02-09 19:25:20 +01:00
larabr
8823603396
Remove worker ( #1072 )
2021-02-09 19:25:20 +01:00
larabr
85d0358d45
Remove 3DES and CAST5 from default preferred symmetric algorithms ( #1068 )
2021-02-09 19:25:20 +01:00
larabr
20950e5df5
Remove SHA-1 from default preferred hash algorithms ( #1067 )
...
Also, remove SHA-1 from the (unused) KDF params constructor defaults.
2021-02-09 19:25:20 +01:00
larabr
5ad19c8da8
Generate ECC keys by default ( #1065 )
...
Also, remove the deprecated numBits options of generateKey in favor of rsaBits.
2021-02-09 19:25:20 +01:00
larabr
4c93abb9f9
Use V5 keys by default ( #1063 )
2021-02-09 19:25:20 +01:00
larabr
a7640bce52
Use AEAD protection by default ( #1062 )
2021-02-09 19:25:20 +01:00
Daniel Huigens
2bc24f354b
Return only one key in key.read[Armored], add readAll[Armored]
2021-02-09 19:25:20 +01:00
Daniel Huigens
3817cca3c6
Throw on unarmored messages with garbage data appended
2021-02-09 19:25:20 +01:00
Daniel Huigens
76a8f11780
Don't mutate key in openpgp.encryptKey/decryptKey
2021-02-09 19:25:20 +01:00
Daniel Huigens
9394fec1f4
Throw in openpgp.initWorker if worker failed to load
2021-02-09 19:25:20 +01:00
Daniel Huigens
29f29f6c6e
Unit tests: Fix autoscroll with skipped tests
2021-02-09 19:25:20 +01:00