@relaycorp/webcrypto-kms
Version:
WebCrypto-compatible client for Key Management Services like GCP KMS
21 lines • 822 B
JavaScript
import { Crypto } from '@peculiar/webcrypto';
export const NODEJS_CRYPTO = new Crypto();
export const HASHING_ALGORITHM_NAME = 'SHA-256';
export const HASHING_ALGORITHM = { name: HASHING_ALGORITHM_NAME };
export const RSA_PSS_IMPORT_ALGORITHM = {
name: 'RSA-PSS',
hash: HASHING_ALGORITHM,
};
export const RSA_PSS_CREATION_ALGORITHM = {
...RSA_PSS_IMPORT_ALGORITHM,
modulusLength: 2048,
publicExponent: new Uint8Array([1, 0, 1]),
};
export const RSA_PSS_SIGN_ALGORITHM = { name: 'RSA-PSS', saltLength: 32 };
export async function derSerializePublicKey(publicKey) {
const publicKeyDer = await NODEJS_CRYPTO.subtle.exportKey('spki', publicKey);
return Buffer.from(publicKeyDer);
}
// tslint:disable-next-line:readonly-array
export const KEY_USAGES = ['sign'];
//# sourceMappingURL=webcrypto.js.map