OpenPGP.js

-OpenPGP.js is a JavaScript implementation of the OpenPGP protocol. It implements the crypto-refresh (superseding RFC4880 and RFC4880bis).
+OpenPGP.js 
+OpenPGP.js is a JavaScript implementation of the OpenPGP protocol. It implements RFC 9580 (superseding RFC 4880 and RFC 4880bis).
Table of Contents
- OpenPGP.js
@@ -88,28 +88,38 @@
The
dist/openpgp.min.js
(or.mjs
) bundle works with recent versions of Chrome, Firefox, Edge and Safari 14+. -
-
The
+dist/node/openpgp.min.mjs
(or.cjs
) bundle works in Node.js v18+: it is used by default when youimport ... from 'openpgp'
(resp.require('openpgp')
).The
dist/node/openpgp.min.mjs
(or.cjs
) bundle works in Node.js v18+: it is used by default when youimport ... from 'openpgp'
(orrequire('openpgp')
, respectively). -
-
Streaming support: the latest versions of Chrome, Firefox, Edge and Safari implement the -Streams specification, including
TransformStream
s. -These are needed if you use the library with streamed inputs. -In previous versions of OpenPGP.js, WebStreams were automatically polyfilled by the library, +Support for the Web Cryptography API's
+SubtleCrypto
is required.-
+
- In browsers,
SubtleCrypto
is only available in secure contexts.
+ - In supported versions of Node.js,
SubtleCrypto
is always available.
+
+ - In browsers,
-
+
Support for the Web Streams API is required.
+-
+
- In browsers: the latest versions of Chrome, Firefox, Edge and Safari support Streams, including
TransformStream
s. +These are needed if you use the library with stream inputs. +In previous versions of OpenPGP.js, Web Streams were automatically polyfilled by the library, but from v6 this task is left up to the library user, due to the more extensive browser support, and the -polyfilling side-effects. If you're working with older browsers versions which do not implement e.g. TransformStreams, you can manually -load WebStream polyfill. +polyfilling side-effects. If you're working with older browsers versions which do not implement e.g. TransformStreams, you can manually +load the Web Streams polyfill. Please note that when you load the polyfills, the globalReadableStream
property (if it exists) gets overwritten with the polyfill version. In some edge cases, you might need to use the nativeReadableStream
(for example when using it to create aResponse
object), in which case you should store a reference to it before loading the polyfills. There is also the web-streams-adapter -library to convert back and forth between them. +library to convert back and forth between them.
+ - In Node.js: OpenPGP.js v6 no longer supports native Node
Readable
streams in inputs, and instead expects (and outputs) Node's Web Streams. Node v17+ includes utilities to convert from and to Web Streams.
+
- In browsers: the latest versions of Chrome, Firefox, Edge and Safari support Streams, including
Performance
-
-
Version 3.0.0 of the library introduces support for public-key cryptography using elliptic curves. We use native implementations on browsers and Node.js when available. Elliptic curve cryptography provides stronger security per bits of key, which allows for much faster operations. Currently the following curves are supported:
+Version 3.0.0 of the library introduced support for public-key cryptography using elliptic curves. We use native implementations on browsers and Node.js when available. Compared to RSA, elliptic curve cryptography provides stronger security per bits of key, which allows for much faster operations. Currently the following curves are supported:
@@ -127,8 +137,8 @@ library to convert back and forth between them. ECDH N/A No -Yes* -If native** +No +Algorithmically ed25519 @@ -196,24 +206,21 @@ library to convert back and forth between them.* when available +
* when available
** these curves are only constant-time if the underlying native implementation is available and constant-time -
-
If the user's browser supports native WebCrypto via the
+window.crypto.subtle
API, this will be used. Under Node.js the native crypto module is used.The platform's native Web Crypto API is used for performance. On Node.js the native crypto module is also used, in cases where it offers additional functionality.
-
-
The library implements authenticated encryption (AEAD) as per the "crypto refresh" draft standard using AES-OCB, EAX, or GCM. This makes symmetric encryption faster on platforms with native implementations. However, since the specification is very recent and other OpenPGP implementations are in the process of adopting it, the feature is currently behind a flag. Note: activating this setting can break compatibility with other OpenPGP implementations which have yet to implement the feature. You can enable it by setting
+openpgp.config.aeadProtect = true
. -Note that this setting has a different effect from the one in OpenPGP.js v6, which implemented support for a provisional version of AEAD from RFC4880bis, which was modified in a later draft of the crypto refresh.The library implements authenticated encryption (AEAD) as per RFC 9580 using AES-GCM, OCB, or EAX. This makes symmetric encryption faster on platforms with native implementations. However, since the specification is very recent and other OpenPGP implementations are in the process of adopting it, the feature is currently behind a flag. Note: activating this setting can break compatibility with other OpenPGP implementations which have yet to implement the feature. You can enable it by setting
openpgp.config.aeadProtect = true
. +Note that this setting has a different effect from the one in OpenPGP.js v5, which implemented support for a provisional version of AEAD from RFC 4880bis, which was modified in RFC 9580.You can change the AEAD mode by setting one of the following options:
-openpgp.config.preferredAEADAlgorithm = openpgp.enums.aead.ocb; // Default (widest ecosystem support), non-native -openpgp.config.preferredAEADAlgorithm = openpgp.enums.aead.gcm; // Native in WebCrypto and Node.js +
openpgp.config.preferredAEADAlgorithm = openpgp.enums.aead.gcm; // Default, native in WebCrypto and Node.js +openpgp.config.preferredAEADAlgorithm = openpgp.enums.aead.ocb; // Non-native, but supported across RFC 9580 implementations openpgp.config.preferredAEADAlgorithm = openpgp.enums.aead.eax; // Native in Node.js
- -
-
For environments that don't provide native crypto, the library falls back to asm.js AES and AEAD implementations.
-
Getting started
Node.js
@@ -445,12 +452,8 @@ It's possible to change that behaviour by enabling compression through the confi } })(); -For more information on using ReadableStreams, see the MDN Documentation on the -Streams API.
-You can also pass a Node.js Readable
-stream, in
-which case OpenPGP.js will return a Node.js Readable
stream as well, which you
-can .pipe()
to a Writable
stream, for example.
For more information on using ReadableStreams (both in browsers and Node.js), see the MDN Documentation on the +Streams API .
Streaming encrypt and decrypt String data with PGP keys
(async () => {
const publicKeyArmored = `-----BEGIN PGP PUBLIC KEY BLOCK-----
@@ -688,7 +691,7 @@ and a subkey for encryption using Curve25519.
To create your own build of the library, just run the following command after cloning the git repo. This will download all dependencies, run the tests and create a minified bundle under dist/openpgp.min.js
to use in your project:
npm install && npm test
-For debugging browser errors, you can run npm start
and open http://localhost:8080/test/unittests.html
in a browser, or run the following command:
+For debugging browser errors, run the following command:
npm run browsertest
How do I get involved?
diff --git a/docs/module-config.html b/docs/module-config.html
index f0eeb13f..9a214e8f 100644
--- a/docs/module-config.html
+++ b/docs/module-config.html
@@ -89,7 +89,7 @@
Source:
@@ -247,7 +247,7 @@ as a global config setting, but can be used for specific function calls (e.g. de
Source:
@@ -365,7 +365,7 @@ Must be an integer value from 0 to 56.
Source:
@@ -489,7 +489,7 @@ Note: not all OpenPGP implementations are compatible with this option.
Source:
@@ -614,7 +614,7 @@ where key flags were ignored when selecting a key for encryption.
Source:
@@ -733,7 +733,7 @@ and have self-signature's creation date that does not match the primary key crea
Source:
@@ -854,7 +854,7 @@ This is an insecure setting:
Source:
@@ -979,7 +979,7 @@ and deferring checking their integrity until the decrypted stream has been read
Source:
@@ -1091,7 +1091,7 @@ and deferring checking their integrity until the decrypted stream has been read
Source:
@@ -1213,7 +1213,7 @@ See also constantTimePKCS1DecryptionSupportedSymmetricAlgorithms
.
Source:
@@ -1331,7 +1331,7 @@ However, the more algorithms are added, the slower the decryption procedure beco
Source:
@@ -1443,7 +1443,7 @@ However, the more algorithms are added, the slower the decryption procedure beco
Source:
@@ -1555,7 +1555,7 @@ However, the more algorithms are added, the slower the decryption procedure beco
Source:
@@ -1672,7 +1672,7 @@ validation error when the notation is marked as critical.
Source:
@@ -1788,7 +1788,7 @@ validation error when the notation is marked as critical.
Source:
@@ -1905,7 +1905,7 @@ The default is 2047 since due to a bug, previous versions of OpenPGP.js could ge
Source:
@@ -2022,7 +2022,7 @@ The default is 2047 since due to a bug, previous versions of OpenPGP.js could ge
Source:
@@ -2139,7 +2139,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2251,7 +2251,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2363,7 +2363,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2475,7 +2475,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2591,7 +2591,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2707,7 +2707,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2823,7 +2823,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -2939,7 +2939,7 @@ Only has an effect when aeadProtect is set to true.
Source:
@@ -3154,7 +3154,7 @@ For more details on the choice of parameters, see https://tools.ietf.org/html/rf
Source:
@@ -3273,7 +3273,7 @@ Note: this is the exponent value, not the final number of iterations (refer to s
Source:
@@ -3395,7 +3395,7 @@ Note: Argon2 is the strongest option but not all OpenPGP implementations are com
Source:
@@ -3507,7 +3507,7 @@ Note: Argon2 is the strongest option but not all OpenPGP implementations are com
Source:
@@ -3619,7 +3619,7 @@ Note: Argon2 is the strongest option but not all OpenPGP implementations are com
Source:
@@ -3736,7 +3736,7 @@ When false, certain standard curves will not be supported (depending on the plat
Source:
@@ -3854,7 +3854,7 @@ Note: not all OpenPGP implementations are compatible with this option.
Source:
@@ -3966,7 +3966,7 @@ Note: not all OpenPGP implementations are compatible with this option.
Source:
diff --git a/docs/module-crypto.html b/docs/module-crypto.html
index 447bb1b7..0a6eefd8 100644
--- a/docs/module-crypto.html
+++ b/docs/module-crypto.html
@@ -89,7 +89,7 @@
Source:
diff --git a/docs/module-crypto_aes_kw.html b/docs/module-crypto_aes_kw.html
index b1dd518e..0afc8d30 100644
--- a/docs/module-crypto_aes_kw.html
+++ b/docs/module-crypto_aes_kw.html
@@ -89,7 +89,7 @@
Source:
@@ -308,7 +308,7 @@
Source:
@@ -521,7 +521,7 @@
Source:
diff --git a/docs/module-crypto_cmac.html b/docs/module-crypto_cmac.html
index cc9ec4f1..0b899672 100644
--- a/docs/module-crypto_cmac.html
+++ b/docs/module-crypto_cmac.html
@@ -90,7 +90,7 @@ native AES-CBC using either the WebCrypto API or Node.js' crypto API.
Source:
@@ -195,7 +195,7 @@ The OMAC authors indicate that they will promulgate this modification
Source:
@@ -352,7 +352,7 @@ simplify the implementation.
Source:
diff --git a/docs/module-crypto_crypto.html b/docs/module-crypto_crypto.html
index 27f56994..1d3e9391 100644
--- a/docs/module-crypto_crypto.html
+++ b/docs/module-crypto_crypto.html
@@ -90,7 +90,7 @@ well as key generation and parameter handling for all public-key cryptosystems.<
Source:
@@ -296,7 +296,7 @@ well as key generation and parameter handling for all public-key cryptosystems.<
Source:
@@ -458,7 +458,7 @@ See RFC 4880 9.2 f
Source:
@@ -619,7 +619,7 @@ See RFC 4880 9.2 f
Source:
@@ -848,7 +848,7 @@ See RFC 4880 9.2 f
Source:
@@ -1030,7 +1030,7 @@ See RFC 4880 9.2 f
Source:
@@ -1170,7 +1170,7 @@ See RFC 4880 9.2 f
Source:
@@ -1354,7 +1354,7 @@ See RFC 4880 9.2 f
Source:
@@ -1561,7 +1561,7 @@ See RFC 4880 9.2 f
Source:
@@ -1745,7 +1745,7 @@ See RFC 4880 9.2 f
Source:
@@ -2075,7 +2075,7 @@ See RFC 4880 5.5.3
Source:
@@ -2361,7 +2361,7 @@ See RFC 4880 9.1 f
Source:
@@ -2545,7 +2545,7 @@ See RFC 4880 9.1 f
Source:
@@ -2752,7 +2752,7 @@ See RFC 4880 9.1 f
Source:
@@ -2913,7 +2913,7 @@ See RFC 4880 9.1 f
Source:
diff --git a/docs/module-crypto_hash.html b/docs/module-crypto_hash.html
index 8c3e17e1..c5343559 100644
--- a/docs/module-crypto_hash.html
+++ b/docs/module-crypto_hash.html
@@ -89,7 +89,7 @@
Source:
@@ -191,7 +191,7 @@
Source:
@@ -352,7 +352,7 @@
Source:
@@ -513,7 +513,7 @@
Source:
diff --git a/docs/module-crypto_hkdf.html b/docs/module-crypto_hkdf.html
index 1f5418fd..ea221dad 100644
--- a/docs/module-crypto_hkdf.html
+++ b/docs/module-crypto_hkdf.html
@@ -89,7 +89,7 @@
Source:
diff --git a/docs/module-crypto_mode.html b/docs/module-crypto_mode.html
index 3c067e26..e6d2c556 100644
--- a/docs/module-crypto_mode.html
+++ b/docs/module-crypto_mode.html
@@ -89,7 +89,7 @@
Source:
@@ -182,7 +182,7 @@
Source:
@@ -249,7 +249,7 @@
Source:
@@ -316,7 +316,7 @@
Source:
@@ -383,7 +383,7 @@
Source:
diff --git a/docs/module-crypto_mode_cfb.html b/docs/module-crypto_mode_cfb.html
index 70dd781f..882a4eee 100644
--- a/docs/module-crypto_mode_cfb.html
+++ b/docs/module-crypto_mode_cfb.html
@@ -236,7 +236,7 @@
Source:
@@ -477,7 +477,7 @@
Source:
diff --git a/docs/module-crypto_mode_eax.html b/docs/module-crypto_mode_eax.html
index d72c957e..a03060b6 100644
--- a/docs/module-crypto_mode_eax.html
+++ b/docs/module-crypto_mode_eax.html
@@ -90,7 +90,7 @@ native AES-CTR using either the WebCrypto API or Node.js' crypto API.
Source:
@@ -296,7 +296,7 @@ native AES-CTR using either the WebCrypto API or Node.js' crypto API.
Source:
@@ -480,7 +480,7 @@ native AES-CTR using either the WebCrypto API or Node.js' crypto API.
Source:
@@ -665,7 +665,7 @@ native AES-CTR using either the WebCrypto API or Node.js' crypto API.
Source:
diff --git a/docs/module-crypto_mode_gcm.html b/docs/module-crypto_mode_gcm.html
index 1b64afe0..cf4c9a9d 100644
--- a/docs/module-crypto_mode_gcm.html
+++ b/docs/module-crypto_mode_gcm.html
@@ -90,7 +90,7 @@ the WebCrypto api as well as node.js' crypto api.
Source:
@@ -273,7 +273,7 @@ the WebCrypto api as well as node.js' crypto api.
Source:
diff --git a/docs/module-crypto_mode_ocb.html b/docs/module-crypto_mode_ocb.html
index b90df5b5..01d34eec 100644
--- a/docs/module-crypto_mode_ocb.html
+++ b/docs/module-crypto_mode_ocb.html
@@ -89,7 +89,7 @@
Source:
@@ -295,7 +295,7 @@
Source:
@@ -502,7 +502,7 @@
Source:
@@ -686,7 +686,7 @@
Source:
diff --git a/docs/module-crypto_pkcs1.html b/docs/module-crypto_pkcs1.html
index 309d1e8d..65b28dbe 100644
--- a/docs/module-crypto_pkcs1.html
+++ b/docs/module-crypto_pkcs1.html
@@ -89,7 +89,7 @@
Source:
@@ -197,7 +197,7 @@
Source:
@@ -358,7 +358,7 @@
Source:
@@ -578,7 +578,7 @@
Source:
@@ -792,7 +792,7 @@
Source:
diff --git a/docs/module-crypto_public_key.html b/docs/module-crypto_public_key.html
index 123b2b83..8ee532c1 100644
--- a/docs/module-crypto_public_key.html
+++ b/docs/module-crypto_public_key.html
@@ -89,7 +89,7 @@
Source:
@@ -182,7 +182,7 @@
Source:
@@ -249,7 +249,7 @@
Source:
@@ -316,7 +316,7 @@
Source:
@@ -383,7 +383,7 @@
Source:
diff --git a/docs/module-crypto_public_key_dsa.html b/docs/module-crypto_public_key_dsa.html
index 52c051a3..55050bcf 100644
--- a/docs/module-crypto_public_key_dsa.html
+++ b/docs/module-crypto_public_key_dsa.html
@@ -89,7 +89,7 @@
Source:
@@ -188,7 +188,7 @@ Expect y == y'
Source:
@@ -434,7 +434,7 @@ Expect y == y'
Source:
@@ -683,7 +683,7 @@ Expect y == y'
Source:
@@ -1005,7 +1005,7 @@ Expect y == y'
Source:
diff --git a/docs/module-crypto_public_key_elgamal.html b/docs/module-crypto_public_key_elgamal.html
index 44ed8b38..93dd3c18 100644
--- a/docs/module-crypto_public_key_elgamal.html
+++ b/docs/module-crypto_public_key_elgamal.html
@@ -89,7 +89,7 @@
Source:
@@ -188,7 +188,7 @@ Expect y == y'
Source:
@@ -412,7 +412,7 @@ Expect y == y'
Source:
@@ -672,7 +672,7 @@ Note that in OpenPGP, the message needs to be padded with PKCS#1 (same as RSA)
Source:
@@ -898,7 +898,7 @@ Note that in OpenPGP, the message needs to be padded with PKCS#1 (same as RSA)
Source:
diff --git a/docs/module-crypto_public_key_elliptic.html b/docs/module-crypto_public_key_elliptic.html
index 37f56eda..988cdaae 100644
--- a/docs/module-crypto_public_key_elliptic.html
+++ b/docs/module-crypto_public_key_elliptic.html
@@ -89,7 +89,7 @@
Source:
diff --git a/docs/module-crypto_public_key_elliptic_curve.html b/docs/module-crypto_public_key_elliptic_curve.html
index ea23377b..f44e400c 100644
--- a/docs/module-crypto_public_key_elliptic_curve.html
+++ b/docs/module-crypto_public_key_elliptic_curve.html
@@ -89,7 +89,7 @@
Source:
@@ -201,7 +201,7 @@ NB: this function does not check e.g. whether the point belongs to the curve.Source:
@@ -340,7 +340,7 @@ NB: this function does not check e.g. whether the point belongs to the curve.Source:
@@ -497,7 +497,7 @@ NB: this function does not check e.g. whether the point belongs to the curve.Source:
@@ -723,7 +723,7 @@ NB: this function does not check e.g. whether the point belongs to the curve.Source:
@@ -926,7 +926,7 @@ NB: this function does not check e.g. whether the point belongs to the curve.Source:
@@ -1157,7 +1157,7 @@ Not suitable for EdDSA (different secret key format)
Source:
diff --git a/docs/module-crypto_public_key_elliptic_ecdh.html b/docs/module-crypto_public_key_elliptic_ecdh.html
index e2ae3b7f..d886f4dd 100644
--- a/docs/module-crypto_public_key_elliptic_ecdh.html
+++ b/docs/module-crypto_public_key_elliptic_ecdh.html
@@ -91,7 +91,7 @@
Source:
@@ -169,7 +169,7 @@
Source:
@@ -467,7 +467,7 @@
Source:
@@ -720,7 +720,7 @@
Source:
@@ -973,7 +973,7 @@
Source:
@@ -1176,7 +1176,7 @@
Source:
@@ -1337,7 +1337,7 @@
Source:
@@ -1445,7 +1445,7 @@
Source:
@@ -1652,7 +1652,7 @@
Source:
@@ -1859,7 +1859,7 @@
Source:
@@ -1911,6 +1911,147 @@
+
+
+
+
+
+
+ (inner) assertNonZeroArray(sharedSecret)
+
+
+
+
+
+
+
+ x25519 and x448 produce an all-zero value when given as input a point with small order.
+This does not lead to a security issue in the context of ECDH, but it is still unexpected,
+hence we throw.
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ sharedSecret
+
+
+
+
+
+Uint8Array
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2089,7 +2230,7 @@
Source:
@@ -2269,7 +2410,7 @@
Source:
@@ -2472,7 +2613,7 @@
Source:
@@ -2652,7 +2793,7 @@
Source:
@@ -2878,7 +3019,7 @@
Source:
@@ -3058,7 +3199,7 @@
Source:
@@ -3189,7 +3330,7 @@
Source:
@@ -3267,7 +3408,7 @@
Source:
@@ -3565,7 +3706,7 @@
Source:
@@ -3818,7 +3959,7 @@
Source:
@@ -4071,7 +4212,7 @@
Source:
@@ -4274,7 +4415,7 @@
Source:
@@ -4435,7 +4576,7 @@
Source:
@@ -4543,7 +4684,7 @@
Source:
@@ -4750,7 +4891,7 @@
Source:
@@ -4957,7 +5098,7 @@
Source:
@@ -5009,6 +5150,147 @@
+
+
+
+
+
+
+ (inner) assertNonZeroArray(sharedSecret)
+
+
+
+
+
+
+
+ x25519 and x448 produce an all-zero value when given as input a point with small order.
+This does not lead to a security issue in the context of ECDH, but it is still unexpected,
+hence we throw.
+
+
+
+
+
+
+
+
+
+
+ Parameters:
+
+
+
+
+
+
+ Name
+
+
+ Type
+
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+ sharedSecret
+
+
+
+
+
+Uint8Array
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Source:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5187,7 +5469,7 @@
Source:
@@ -5367,7 +5649,7 @@
Source:
@@ -5570,7 +5852,7 @@
Source:
@@ -5750,7 +6032,7 @@
Source:
@@ -5976,7 +6258,7 @@
Source:
@@ -6156,7 +6438,7 @@
Source:
diff --git a/docs/module-crypto_public_key_elliptic_ecdsa.html b/docs/module-crypto_public_key_elliptic_ecdsa.html
index e3fa7950..0eb1c0a1 100644
--- a/docs/module-crypto_public_key_elliptic_ecdsa.html
+++ b/docs/module-crypto_public_key_elliptic_ecdsa.html
@@ -89,7 +89,7 @@
Source:
@@ -364,7 +364,7 @@
Source:
@@ -571,7 +571,7 @@
Source:
@@ -847,7 +847,7 @@
Source:
@@ -956,7 +956,7 @@ To be used if no native implementation is available for the given curve/operatio
Source:
diff --git a/docs/module-crypto_public_key_elliptic_eddsa.html b/docs/module-crypto_public_key_elliptic_eddsa.html
index 8656469e..e33bc6b0 100644
--- a/docs/module-crypto_public_key_elliptic_eddsa.html
+++ b/docs/module-crypto_public_key_elliptic_eddsa.html
@@ -89,7 +89,7 @@
Source:
@@ -249,7 +249,7 @@
Source:
@@ -521,7 +521,7 @@
Source:
@@ -751,7 +751,7 @@
Source:
@@ -1027,7 +1027,7 @@
Source:
diff --git a/docs/module-crypto_public_key_elliptic_eddsa_legacy.html b/docs/module-crypto_public_key_elliptic_eddsa_legacy.html
index ccd81de7..7624cfca 100644
--- a/docs/module-crypto_public_key_elliptic_eddsa_legacy.html
+++ b/docs/module-crypto_public_key_elliptic_eddsa_legacy.html
@@ -90,7 +90,7 @@ This key type has been deprecated by the crypto-refresh RFC.
Source:
@@ -365,7 +365,7 @@ This key type has been deprecated by the crypto-refresh RFC.
Source:
@@ -572,7 +572,7 @@ This key type has been deprecated by the crypto-refresh RFC.
Source:
@@ -848,7 +848,7 @@ This key type has been deprecated by the crypto-refresh RFC.
Source:
diff --git a/docs/module-crypto_public_key_rsa.html b/docs/module-crypto_public_key_rsa.html
index c11c76a5..91671fb1 100644
--- a/docs/module-crypto_public_key_rsa.html
+++ b/docs/module-crypto_public_key_rsa.html
@@ -89,7 +89,7 @@
Source:
@@ -411,7 +411,7 @@
Source:
@@ -647,7 +647,7 @@
Source:
@@ -833,7 +833,7 @@
Source:
@@ -1186,7 +1186,7 @@ RSA private prime p, RSA private prime q, u = p ** -1 mod q
Source:
@@ -1462,7 +1462,7 @@ RSA private prime p, RSA private prime q, u = p ** -1 mod q
Source:
@@ -1738,7 +1738,7 @@ RSA private prime p, RSA private prime q, u = p ** -1 mod q
Source:
@@ -1846,7 +1846,7 @@ RSA private prime p, RSA private prime q, u = p ** -1 mod q
Source:
@@ -2123,7 +2123,7 @@ RSA private prime p, RSA private prime q, u = p ** -1 mod q
Source:
@@ -2308,7 +2308,7 @@ RSA private prime p, RSA private prime q, u = p ** -1 mod q
Source:
diff --git a/docs/module-crypto_random.html b/docs/module-crypto_random.html
index f0074018..7766a594 100644
--- a/docs/module-crypto_random.html
+++ b/docs/module-crypto_random.html
@@ -89,7 +89,7 @@
Source:
@@ -272,7 +272,7 @@
Source:
@@ -433,7 +433,7 @@
Source:
diff --git a/docs/module-crypto_signature.html b/docs/module-crypto_signature.html
index 74e33e53..fb79baa7 100644
--- a/docs/module-crypto_signature.html
+++ b/docs/module-crypto_signature.html
@@ -89,7 +89,7 @@
Source:
@@ -276,7 +276,7 @@ See RFC 4880 5.2.2.<
Source:
@@ -555,7 +555,7 @@ for public key and hash algorithms.
Source:
@@ -834,7 +834,7 @@ for public key and hash algorithms.
Source:
diff --git a/docs/module-encoding_base64.html b/docs/module-encoding_base64.html
index ae26bfde..b039e702 100644
--- a/docs/module-encoding_base64.html
+++ b/docs/module-encoding_base64.html
@@ -168,7 +168,7 @@
Source:
@@ -332,7 +332,7 @@
Source:
@@ -499,7 +499,7 @@
Source:
@@ -686,7 +686,7 @@
Source:
diff --git a/docs/module-enums.html b/docs/module-enums.html
index 65f76fb0..48b370dd 100644
--- a/docs/module-enums.html
+++ b/docs/module-enums.html
@@ -235,7 +235,7 @@
Source:
@@ -499,7 +499,7 @@
Source:
@@ -694,7 +694,7 @@
Source:
@@ -1119,7 +1119,7 @@
Source:
@@ -1323,7 +1323,7 @@ fingerprint format
Source:
@@ -1633,7 +1633,7 @@ fingerprint format
Source:
@@ -1899,7 +1899,7 @@ possession of more than one person.
Source:
@@ -2094,7 +2094,7 @@ possession of more than one person.
Source:
@@ -2634,7 +2634,7 @@ possession of more than one person.
Source:
@@ -3060,7 +3060,7 @@ possession of more than one person.
Source:
@@ -3278,7 +3278,7 @@ possession of more than one person.
Source:
@@ -3496,7 +3496,7 @@ possession of more than one person.
Source:
@@ -4013,7 +4013,7 @@ document) that cannot include a target subpacket.
Source:
@@ -4737,7 +4737,7 @@ document) that cannot include a target subpacket.
Source:
@@ -5024,7 +5024,7 @@ document) that cannot include a target subpacket.
Source:
@@ -5220,7 +5220,7 @@ document) that cannot include a target subpacket.
Source:
@@ -5374,7 +5374,7 @@ document) that cannot include a target subpacket.
Source:
@@ -5590,7 +5590,7 @@ document) that cannot include a target subpacket.
Source:
diff --git a/docs/module-key_Subkey-Subkey.html b/docs/module-key_Subkey-Subkey.html
index bed9f3e6..bee33fb6 100644
--- a/docs/module-key_Subkey-Subkey.html
+++ b/docs/module-key_Subkey-Subkey.html
@@ -171,7 +171,7 @@
Source:
@@ -281,7 +281,7 @@
Source:
@@ -394,7 +394,7 @@
Source:
@@ -511,7 +511,7 @@
Source:
@@ -628,7 +628,7 @@
Source:
@@ -741,7 +741,7 @@
Source:
@@ -942,7 +942,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1055,7 +1055,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1172,7 +1172,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1289,7 +1289,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1406,7 +1406,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1523,7 +1523,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1640,7 +1640,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1757,7 +1757,7 @@ Returns null if the subkey is invalid.
Source:
@@ -1873,7 +1873,7 @@ Returns null if the subkey is invalid.
Source:
@@ -2149,7 +2149,7 @@ Returns null if the subkey is invalid.
Source:
@@ -2487,7 +2487,7 @@ Returns null if the subkey is invalid.
Source:
@@ -2599,7 +2599,7 @@ Returns null if the subkey is invalid.
Source:
@@ -2832,7 +2832,7 @@ Returns null if the subkey is invalid.
Source:
@@ -3044,7 +3044,7 @@ and valid binding signature.
Source:
diff --git a/docs/module-key_User-User.html b/docs/module-key_User-User.html
index c34cc575..a6bb089a 100644
--- a/docs/module-key_User-User.html
+++ b/docs/module-key_User-User.html
@@ -171,7 +171,7 @@
Source:
-
- key/user.js, line 16
+ key/user.js, line 16
@@ -404,7 +404,7 @@
Source:
-
- key/user.js, line 59
+ key/user.js, line 59
@@ -516,7 +516,7 @@
Source:
-
- key/user.js, line 43
+ key/user.js, line 43
@@ -789,7 +789,7 @@
Source:
-
- key/user.js, line 97
+ key/user.js, line 97
@@ -1127,7 +1127,7 @@
Source:
@@ -1239,7 +1239,7 @@
Source:
-
- key/user.js, line 30
+ key/user.js, line 30
@@ -1442,7 +1442,7 @@
Source:
@@ -1623,7 +1623,7 @@ and validity of self signature.
Source:
@@ -1887,7 +1887,7 @@ and validity of self signature.
Source:
@@ -2154,7 +2154,7 @@ Signature validity is null if the verification keys do not correspond to the cer
Source:
diff --git a/docs/module-key_helper.html b/docs/module-key_helper.html
index b12b096d..56d7acec 100644
--- a/docs/module-key_helper.html
+++ b/docs/module-key_helper.html
@@ -89,7 +89,7 @@
Source:
@@ -281,7 +281,7 @@
Source:
@@ -518,7 +518,7 @@
Source:
@@ -554,7 +554,7 @@
- (static) createSignaturePacket(dataToSign, privateKey, signingKeyPacket, signaturePropertiesopt, dateopt, userIDopt, notationsopt, detachedopt, config) → {Promise.<SignaturePacket>}
+ (static) createSignaturePacket(dataToSign, recipientKeys, signingKeyPacket, signaturePropertiesopt, dateopt, userIDopt, notationsopt, detachedopt, config) → {Promise.<SignaturePacket>}
@@ -631,13 +631,13 @@
- privateKey
+ recipientKeys
-PrivateKey
+Array.<Key>
@@ -655,7 +655,7 @@
- key to get preferences from
+ keys to get preferences from
@@ -928,7 +928,7 @@
Source:
@@ -1116,7 +1116,7 @@ The expiration time of the signature is ignored.
Source:
@@ -1376,7 +1376,7 @@ The expiration time of the signature is ignored.
Source:
@@ -1648,7 +1648,7 @@ The expiration time of the signature is ignored.
Source:
@@ -1920,7 +1920,7 @@ The expiration time of the signature is ignored.
Source:
@@ -1978,7 +1978,7 @@ The expiration time of the signature is ignored.
- (async, static) getPreferredHashAlgo(keyopt, keyPacket, dateopt, userIDopt, config) → {Promise.<enums.hash>}
+ (async, static) getPreferredHashAlgo(targetKeysopt, signingKeyPacket, dateopt, targetUserIDopt, config) → {Promise.<enums.hash>}
@@ -1986,7 +1986,7 @@ The expiration time of the signature is ignored.
- Returns the preferred signature hash algorithm of a key
+ Returns the preferred signature hash algorithm for a set of keys.
@@ -2024,13 +2024,13 @@ The expiration time of the signature is ignored.
- key
+ targetKeys
-Key
+Array.<Key>
@@ -2050,14 +2050,14 @@ The expiration time of the signature is ignored.
- The key to get preferences from
+ The keys to get preferences from
- keyPacket
+ signingKeyPacket
@@ -2124,7 +2124,7 @@ The expiration time of the signature is ignored.
- userID
+ targetUserID
@@ -2150,7 +2150,7 @@ The expiration time of the signature is ignored.
- User ID
+ User IDs corresponding to targetKeys
to get preferences from
@@ -2224,7 +2224,7 @@ The expiration time of the signature is ignored.
Source:
@@ -2531,7 +2531,7 @@ The expiration time of the signature is ignored.
Source:
@@ -2830,7 +2830,7 @@ The expiration time of the signature is ignored.
Source:
diff --git a/docs/module-packet_packet.html b/docs/module-packet_packet.html
index b44b87f0..c3ae1e19 100644
--- a/docs/module-packet_packet.html
+++ b/docs/module-packet_packet.html
@@ -89,7 +89,7 @@
Source:
@@ -275,7 +275,7 @@
Source:
@@ -436,7 +436,7 @@
Source:
@@ -621,7 +621,7 @@ string
Source:
@@ -783,7 +783,7 @@ string
Source:
diff --git a/docs/module-type_ecdh_symkey.html b/docs/module-type_ecdh_symkey.html
index 02b27bc6..6426f71e 100644
--- a/docs/module-type_ecdh_symkey.html
+++ b/docs/module-type_ecdh_symkey.html
@@ -89,7 +89,7 @@
Source:
diff --git a/docs/module-type_kdf_params-KDFParams.html b/docs/module-type_kdf_params-KDFParams.html
index 9dabe344..02e0adb1 100644
--- a/docs/module-type_kdf_params-KDFParams.html
+++ b/docs/module-type_kdf_params-KDFParams.html
@@ -163,7 +163,7 @@
Source:
@@ -322,7 +322,7 @@
Source:
@@ -434,7 +434,7 @@
Source:
diff --git a/docs/module-type_keyid-KeyID.html b/docs/module-type_keyid-KeyID.html
index 470acc8a..97404c0b 100644
--- a/docs/module-type_keyid-KeyID.html
+++ b/docs/module-type_keyid-KeyID.html
@@ -101,7 +101,7 @@ formed.
Source:
@@ -295,7 +295,7 @@ formed.
Source:
@@ -385,7 +385,7 @@ formed.
Source:
@@ -497,7 +497,7 @@ formed.
Source:
@@ -658,7 +658,7 @@ formed.
Source:
@@ -748,7 +748,7 @@ formed.
Source:
@@ -860,7 +860,7 @@ formed.
Source:
diff --git a/docs/module-type_oid.html b/docs/module-type_oid.html
index 524d78c1..7cb3799d 100644
--- a/docs/module-type_oid.html
+++ b/docs/module-type_oid.html
@@ -100,7 +100,7 @@ sequence of octets is the valid representation of a curve OID.
Source:
-
- type/oid.js, line 18
+ type/oid.js, line 18
diff --git a/docs/module-type_s2k-GenericS2K.html b/docs/module-type_s2k-GenericS2K.html
index c557dd41..6a24ca4e 100644
--- a/docs/module-type_s2k-GenericS2K.html
+++ b/docs/module-type_s2k-GenericS2K.html
@@ -153,7 +153,7 @@
Source:
@@ -262,7 +262,7 @@
Source:
@@ -332,7 +332,7 @@
Source:
@@ -406,7 +406,7 @@
Source:
@@ -480,7 +480,7 @@
Source:
@@ -612,7 +612,7 @@ hashAlgorithm
Source:
@@ -774,7 +774,7 @@ hashAlgorithm hash length
Source:
@@ -886,7 +886,7 @@ hashAlgorithm hash length
Source:
diff --git a/docs/module-type_s2k.html b/docs/module-type_s2k.html
index 9121ad81..9e24f7bb 100644
--- a/docs/module-type_s2k.html
+++ b/docs/module-type_s2k.html
@@ -95,7 +95,7 @@ symmetrically encrypted messages.
Source:
diff --git a/docs/module-type_x25519x448_symkey.html b/docs/module-type_x25519x448_symkey.html
index 958650bd..2741d749 100644
--- a/docs/module-type_x25519x448_symkey.html
+++ b/docs/module-type_x25519x448_symkey.html
@@ -91,7 +91,7 @@ the former includes an algorithm byte preceeding the encrypted session key.<
Source:
diff --git a/docs/module-util.html b/docs/module-util.html
index 7675f6db..98d1b874 100644
--- a/docs/module-util.html
+++ b/docs/module-util.html
@@ -89,7 +89,7 @@
Source:
diff --git a/package-lock.json b/package-lock.json
index ecfdc9f0..9f857ab7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "openpgp",
- "version": "6.0.0-beta.3.patch.1",
+ "version": "6.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openpgp",
- "version": "6.0.0-beta.3.patch.1",
+ "version": "6.0.0",
"license": "LGPL-3.0+",
"devDependencies": {
"@noble/ciphers": "^1.0.0",
diff --git a/package.json b/package.json
index 7a3810ed..d2a21b57 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "openpgp",
"description": "OpenPGP.js is a Javascript implementation of the OpenPGP protocol. This is defined in RFC 4880.",
- "version": "6.0.0-beta.3.patch.1",
+ "version": "6.0.0",
"license": "LGPL-3.0+",
"homepage": "https://openpgpjs.org/",
"engines": {