Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openpgpjs/openpgpjs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-24TypeScript: add `SignaturePacket.rawNotations` (#1571)HEADmainLeo Kotschenreuther
2022-10-24Bump package lock versionlarabr
2022-10-24CI: move away from Node.js v12larabr
Github is deprecating it in Actions, and it's already past EOL
2022-10-12Allow use of Brainpool curves by default (#1563)Daniel Huigens
These curves have been merged back into the editor's draft of the crypto refresh.
2022-08-315.5.0v5.5.0Daniel Huigens
2022-08-30Hash all signature subpackets (#1562)Daniel Huigens
Move the Issuer, Issuer Fingerprint, and Embedded Signature subpackets to the hashed subpackets for new signatures. While we allow these to be unhashed, it's safer to hash them, and this simplifies the code as well.
2022-08-30Leave unhashed subpackets as-is when re-serializing signatures (#1561)wussler
When re-serializing a signature packet, don't add Issuer, Issuer Fingerprint, and Embedded Signature subpackets to the unhashed subpackets if they weren't already there. Also, store all unhashed subpackets in `signature.unhashedSubpackets`, not just the "disallowed" ones.
2022-08-30Remove leading newline from clearsigned messages armoring (#1560)Daniel Huigens
2022-08-22Ignore improperly formatted armor headers (#1557)Celine Moredo
Show a debug warning instead of throwing an error on malformed headers.
2022-08-17`printDebug`: add label to identify source of the log (#1555)larabr
2022-08-085.4.0v5.4.0larabr
2022-08-08CI: run worker tests first to give enough time to download the required ↵larabr
scripts (#1550) This should fix issues with Safari 13 not managing to load the worker in BrowserStack Automate.
2022-08-04TypeScript: add missing `allowInsecureVerificationWithReformattedKeys` field ↵larabr
to Config (#1551)
2022-08-02Fix `CleartextMessage` signature generation over text with trailing ↵larabr
whitespace and \r\n line endings Signing a `CleartextMessage` containing trailing whitespace and \r\n line endings (as opposed to \n) would result in an unverifiable signature. The issue seems to have been present since v3.0.9 . These broken signatures were unverifiable even in the OpenPGP.js version(s) that generated them.
2022-07-27Throw in `encryptSessionKey` if no keys or passwords are provided (#1547)larabr
Previously, the operation would return an empty message.
2022-06-29Use `npm ci` instead of `npm install` in release scriptDaniel Huigens
In order not to update the package-lock.json file during releases.
2022-06-29Revert package lock version bumpDaniel Huigens
2022-06-295.3.1v5.3.1Daniel Huigens
2022-06-29Support Node.js 18 (#1542)Daniel Huigens
Recent Node.js seems to have dropped support for ripemd160. Thus, properly check the availability of hashes before using them. Also, add Node.js 18 to CI.
2022-06-29Fix armor error handling (#1541)Daniel Huigens
Fix unhandled promise rejections when parsing armor with malformed footers.
2022-06-09Fix CNAME and make docs script portableDaniel Huigens
2022-06-085.3.0v5.3.0larabr
2022-06-07Throw on decryption of messages that don't contain any encrypted data packet ↵larabr
(#1529) Calling `openpgp.decrypt` with a message that contains encrypted session keys followed by a non-encrypted packet (e.g. Literal or Compressed Data packet) used to succeed, even if a wrong passphrase/key was provided. With this change, the operation will always fail, and the user is warned that the data was not encrypted. NB: a message that did not contain any encrypted session key packet would fail to decrypt even prior to this change.
2022-06-07Throw `UnsupportedError` on unknown algorithm in keys, signatures and ↵larabr
encrypted session keys (#1523) The relevant packets will be considered unsupported instead of malformed. Hence, parsing them will succeed by default (based on `config.ignoreUnsupportedPackets`).
2022-06-02Add memory benchmark tests for streamed decryption of large files (#1462)Justin Lovell
Also, provide more details about `config.allowUnauthenticatedStream`.
2022-05-24Add `UnparseablePacket` to properly deal with key blocks that include ↵larabr
malformed/unsupported packets (#1522) When parsing errors are being ignored, packets that fail to parse are now included in the resulting packet list as `UnparseablePacket`s . This way, when parsing keys that contain unparsable (sub)key, we avoid associating the following non-key packets to the wrong key entity. On serialization, `UnparseablePacket`s are also included by writing their raw packet body as it was read.
2022-05-12Fix loading browser built in JSDom environment (#1518)larabr
2022-03-22Throw on empty passphrase in `encryptKey` and `SecretKeyPacket.encrypt` (#1508)larabr
Breaking change: `openpgp.encryptKey` now throws if an empty string is given as passphrase. The operation used to succeed, but the resulting key was left in an inconsistent state, and e.g. serialization would not be possible. Non-breaking changes: - `options.passphrase` in `generateKey` and `reformatKey` now defaults to `undefined` instead of empty string. Passing an empty string does not throw for now, but this might change in the future to align with `encryptKey`'s behaviour. - In TS, add `GenerateKeyOptions` as alias of `KeyOptions`, to clarify its scope.
2022-03-155.2.1v5.2.1Daniel Huigens
2022-03-14Lint: error if imported value not found in module (#1507)larabr
2022-03-14Fix AES encryption error in browsers for messages larger than 3MB (#1506)larabr
In browsers, encryption of messages larger than 3MB (or a custom value based on `config.minBytesForWebCrypto`) would throw the error `Error encrypting message: 'crypto.getCipher' is not a function`. The issue was introduced in v5.1 .
2022-03-09TypeScript: rely on new `web-stream-tools` types, fix `SignOptions` (#1502)larabr
The updated stream types improve type inference and checks, in particular when using ReadableStreams. Also: - add `EncryptSessionKeyOptions` to make it easier to declare wrapper functions of `encryptSessionKey`; - tighter output type inference in `Message.getText()` and `.getLiteralData()`.
2022-03-025.2.0v5.2.0Daniel Huigens
2022-03-01CI: update `mocha` (#1503)larabr
Update to mocha@8 instead of 9 because the latter dropped support for `--require esm`, hence using it would require more extensive changes.
2022-02-18TypeScript: fix `data` argument type in `SignaturePacket.verify()` (#1494)Ivan Pizhenko
2022-02-11Check existence of `navigator` before using it (#1475)Daniel Huigens
2022-02-10Drop MS Edge Legacy support (#1474)Daniel Huigens
2022-02-10TypeScript: mark `signature` arg as optional in `Key.isRevoked()` and remove ↵Ivan Pizhenko
`SignaturePacket.verified` (#1486)
2022-02-01Update web-stream-toolsDaniel Huigens
2022-01-25Persist docs/CNAME after releaseDaniel Huigens
2022-01-25Create CNAMEDaniel Huigens
2022-01-245.1.0v5.1.0Daniel Huigens
2022-01-19Add support for constant-time decryption of PKCS#1 v1.5-encoded session keys ↵larabr
(#1445) Implement optional constant-time decryption flow to hinder Bleichenbacher-like attacks against RSA- and ElGamal public-key encrypted session keys. Changes: - Add `config.constantTimePKCS1Decryption` to enable the constant-time processing (defaults to `false`). The constant-time option is off by default since it has measurable performance impact on message decryption, and it is only helpful in specific application scenarios (more info below). - Add `config.constantTimePKCS1DecryptionSupportedSymmetricAlgorithms` (defaults to the AES algorithms). The set of supported ciphers is restricted by default since the number of algorithms negatively affects performance. Bleichenbacher-like attacks are of concern for applications where both of the following conditions are met: 1. new/incoming messages are automatically decrypted (without user interaction); 2. an attacker can determine how long it takes to decrypt each message (e.g. due to decryption errors being logged remotely).
2021-12-21Update documentation link (#1455)Austin Schmidli
2021-12-07Initial Deno support (#1448)Hexagon
2021-12-01CI: use Node v16 instead of v15larabr
2021-12-01Check key requirements in `PrivateKey.addSubkey()` (#1423)larabr
Breaking change: when generating new subkeys through `key.addSubkey()`, we now check `config.rejectCurves` and prevent adding subkeys using the corresponding curves. By default, `config.rejectCurves` includes the brainpool curves (`brainpoolP256r1`, `brainpoolP384r1`, `brainpoolP512r1`) and the Bitcoin curve (`secp256k1`). This is a follow up to #1395 , which introduced the same check to `openpgp.generateKey`.
2021-11-29Create CNAMEBart Butler
2021-11-23Rename master branch to mainDaniel Huigens
2021-11-22Replace strings with integer algorithm identifiers in packet classes (#1410)larabr
In several packet classes, we used to store string identifiers for public-key, aead, cipher or hash algorithms. To make the code consistent and to avoid having to convert to/from string values, we now always store integer values instead, e.g. `enums.symmetric.aes128` is used instead of `'aes128'`. This is not expected to be a breaking change for most library users. Note that the type of `Key.getAlgorithmInfo()` and of the session key objects returned and accepted by top-level functions remain unchanged. Affected classes (type changes for some properties and method's arguments): - `PublicKeyPacket`, `PublicSubkeyPacket`, `SecretKeyPacket`, `SecretSubkeyPacket` - `SymEncryptedIntegrityProtectedDataPacket`, `AEADEncryptedDataPacket`, `SymmetricallyEncryptedDataPacket` - `LiteralDataPacket`, `CompressedDataPacket` - `PublicKeyEncryptedSessionKey`, `SymEncryptedSessionKeyPacket` - `SignaturePacket` Other potentially breaking changes: - Removed property `AEADEncryptedDataPacket.aeadAlgo`, since it was redudant given `.aeadAlgorithm`. - Renamed `AEADEncryptedDataPacket.cipherAlgo` -> `.cipherAlgorithm`