From 35109160ca5d439116bedeb3302ec3745e2895d5 Mon Sep 17 00:00:00 2001 From: Ciro Spaciari Date: Sat, 7 Oct 2023 19:22:45 -0300 Subject: feat(KeyObject) (#5940) * oops * createSecretKey but weird error * use the right prototype, do not add a function called export lol * HMAC JWT export + base64 fix * Fix Equals, Fix Get KeySize, add complete export RSA * fix RSA export * add EC exports * X25519 and ED25519 export + fixes * fix default exports * better asymmetricKeyType * fix private exports * fix symmetricKeySize * createPublicKey validations + refactor * jwt + der fixes * oopsies * add PEM into createPublicKey * cleanup * WIP * bunch of fixes * public from private + private OKP * encrypted keys fixes * oops * fix clear tls error, add some support to jwk and other formats on publicEncrypt/publicDecrypt * more fixes and tests working * more fixes more tests * more clear hmac errors * more tests and fixes * add generateKeyPair * more tests passing, some skips * fix EC key from private * fix OKP JWK * nodejs ignores ext and key_ops on KeyObject.exports * add EC sign verify test * some fixes * add crypto.generateKeyPairSync(type, options) * more fixes and more tests * fix hmac tests * jsonwebtoken tests * oops * oops2 * generated files * revert package.json * vm tests * todos instead of failues * toBunString -> toString * undo simdutf * improvements * unlikely * cleanup * cleanup 2 * oops * move _generateKeyPairSync checks to native --- src/bun.js/bindings/webcrypto/CryptoKeyEC.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/bun.js/bindings/webcrypto/CryptoKeyEC.h') diff --git a/src/bun.js/bindings/webcrypto/CryptoKeyEC.h b/src/bun.js/bindings/webcrypto/CryptoKeyEC.h index f2cf7383f..8e8f5eb35 100644 --- a/src/bun.js/bindings/webcrypto/CryptoKeyEC.h +++ b/src/bun.js/bindings/webcrypto/CryptoKeyEC.h @@ -91,6 +91,8 @@ public: String namedCurveString() const; PlatformECKey platformKey() const { return m_platformKey.get(); } static bool isValidECAlgorithm(CryptoAlgorithmIdentifier); + static RefPtr platformImportSpki(CryptoAlgorithmIdentifier, NamedCurve, Vector&& keyData, bool extractable, CryptoKeyUsageBitmap); + static RefPtr platformImportPkcs8(CryptoAlgorithmIdentifier, NamedCurve, Vector&& keyData, bool extractable, CryptoKeyUsageBitmap); private: CryptoKeyEC(CryptoAlgorithmIdentifier, NamedCurve, CryptoKeyType, PlatformECKeyContainer&&, bool extractable, CryptoKeyUsageBitmap); @@ -104,8 +106,6 @@ private: static RefPtr platformImportRaw(CryptoAlgorithmIdentifier, NamedCurve, Vector&& keyData, bool extractable, CryptoKeyUsageBitmap); static RefPtr platformImportJWKPublic(CryptoAlgorithmIdentifier, NamedCurve, Vector&& x, Vector&& y, bool extractable, CryptoKeyUsageBitmap); static RefPtr platformImportJWKPrivate(CryptoAlgorithmIdentifier, NamedCurve, Vector&& x, Vector&& y, Vector&& d, bool extractable, CryptoKeyUsageBitmap); - static RefPtr platformImportSpki(CryptoAlgorithmIdentifier, NamedCurve, Vector&& keyData, bool extractable, CryptoKeyUsageBitmap); - static RefPtr platformImportPkcs8(CryptoAlgorithmIdentifier, NamedCurve, Vector&& keyData, bool extractable, CryptoKeyUsageBitmap); Vector platformExportRaw() const; bool platformAddFieldElements(JsonWebKey&) const; Vector platformExportSpki() const; -- cgit v1.2.3