mirror of
https://github.com/openpgpjs/openpgpjs.git
synced 2025-03-30 15:08:32 +00:00

- Throw on signature parsing (e.g. in `openpgp.readSignature`) if the creation time subpacket is missing - `SignaturePacket.verify` now directly checks for signature creation and expiration times. This makes it easier to thoroughly check the validity of signatures. Also: - `openpgp.revokeKey` now takes a `date` to check the provided revocation certificate - `openpgp.decryptSessionKeys` now takes a `date` to check the validity of the provided private keys - whenever a `date` is used internally, the function accepts a `date` param to allow passing the correct date - Add tests for all of the above - Like `openpgp.generateKey`, `openpgp.reformatKey` now also requires `options.userIDs` - Simplify calling `SubKey.isRevoked/update/getExpirationTime` by adding the `SubKey.mainKey` field to hold the reference of the corresponding `Key` Breaking changes in low-level functions: - Added/removed `date` params: - `Key.update(key, config)` -> `update(key, date, config)` - `Key.applyRevocationCertificate(revocationCertificate, config)` -> `applyRevocationCertificate(revocationCertificate, date, config)` - `Key.signAllUsers(privateKeys, config)` -> `signAllUsers(privateKeys, date, config)` - `Key.verifyAllUsers(keys, config)` -> `verifyAllUsers(keys, date, config)` - `new SignaturePacket(date)` -> `new SignaturePacket()` - `SignaturePacket.sign(key, data, detached)` -> `sign(key, data, date, detached)` - `Message.sign(primaryKey, privateKeys, config)` -> `sign(primaryKey, privateKeys, date, config)` - `Message.decrypt(privateKeys, passwords, sessionKeys, config)` -> `decrypt(privateKeys, passwords, sessionKeys, date, config)` - `Message.decryptSessionKeys(privateKeys, passwords, config)` -> `decryptSessionKeys(privateKeys, passwords, date, config)` - Removed `primaryKey` params: - `SubKey.isRevoked(primaryKey, signature, key, date, config)` -> `isRevoked(signature, key, date, config)` - `SubKey.update(subKey, primaryKey, date, config)` -> `update(subKey, date, config)` - `SubKey.getExpirationTime(primaryKey, date, config)` -> `getExpirationTime(date, config)`