@turnkey/api-key-stamper
Version:
API key stamper for @turnkey/http
22 lines (18 loc) • 777 B
JavaScript
;
var elliptic_curves = require('./tink/elliptic_curves.js');
var encoding = require('@turnkey/encoding');
function convertTurnkeyApiKeyToJwk(input) {
const { uncompressedPrivateKeyHex, compressedPublicKeyHex } = input;
let jwk;
try {
jwk = elliptic_curves.pointDecode(encoding.uint8ArrayFromHexString(compressedPublicKeyHex));
}
catch (e) {
throw new Error(`unable to load API key: invalid public key. Did you switch your public and private key?`);
}
// Ensure that d is sufficiently padded
jwk.d = encoding.hexStringToBase64url(uncompressedPrivateKeyHex, encoding.DEFAULT_JWK_MEMBER_BYTE_LENGTH);
return jwk;
}
exports.convertTurnkeyApiKeyToJwk = convertTurnkeyApiKeyToJwk;
//# sourceMappingURL=utils.js.map