pmcrypto
pmcrypto copied to clipboard
Upgrade to OpenPGP.js v6
As OpenPGP.js is now declared as "module", we also switch pmcrypto to be one. This causes the majority of changes in this PR.
Non-breaking changes:
- added support for reading and generating v6 packet versions
- added support for processing and generating Curve448 keys, and Curve25519 in new format
- ...
Breaking changes:
-
for downstream TS compiler, using the new "node16" or "Bundler" module resolution is required, as e.g. the noble-hashes lib uses
exports
only (if this is too problematic, we could temporarily add legacy entrypoints to that dependency, since we currently use a fork). - limited support for (legacy, non-standardized) AEAD-encrypted v4 keys as per draft4880bis
- enum name changes related to legacy curve25519 and eddsa
- ...
TODO:
- [x] rebase on top of TS fix for lightweight build (to be released in next openpgpjs v6 pre-release)
- [ ] release protontech/v6 and point to it
- [x] test integration with web-clients, esp. TS config
- post-canary:
- [ ] we currently reject keys in new eddsa/xecdh format (in
checkKeyStrength
) - [ ] accept sha3 in generated key prefs
- [ ] make explicit
date
inputs mandatory?
- [ ] we currently reject keys in new eddsa/xecdh format (in
- [ ] ...