- Add conversion from
publicKeyJwk
feature viafrom()
.
- Expect >= node 18 via
package.json
.
- Allow
@context
array values in multikeys.
- Add
fromRaw()
to import a key pair from a namedcurve
,secretKey
, andpublicKey
. - Reformat
keyAgreement
param infrom()
tooptions
to enable named usage ({keyAgreement: true|false}
) for better API.
- Rename
remotePublicKey
param topublicKey
forderiveSecret()
to get better compatibility with WebKMS Client KeyAgreementKey interface. The param can still be passed asremotePublicKey
but this is considered deprecated.
- Add
raw
option to key pairexport()
. Based on the requested public/secret key, the output will include the raw bytes for the public/secret key using the propertiespublicKey
and/orsecretKey
, respectively. The public key will be output using the compressed format.
- Add
keyAgreement
option togenerate()
to generate ECDH keys instead of ECDSA keys. This module needs a better name thanecdsa-multikey
as it also supports key agreement keys, but only for keys based on curves that are also compatible with ECDSA. Note that a key should only be used for ECDSA or ECDH (key agreement), not both, so calling this moduleecdsa-multikey
is a bit misleading as you can also generate a key that is to only be used for key agreement. - Add
deriveSecret()
API forkeyAgreement
enabled keys.
- Do not include
ext
orkey_ops
in output JWK.
- Add
fromJwk()
andtoJwk()
for importing / exporting key pairs using JWK.
- Support Node.js 20.x.
- Update
.from()
method to not modify key input.
- Fix data format alignment issues with ecdsa-2019-cryptosuite.
- Use constant strings in tests.
- Ensure public and secret multikey headers match.
- Change exported algorithm from "ECDSA" to curve name.
- Initial version.