js-crypto-key-utils
Version:
Universal Module for Cryptographic Key Utilities in JavaScript, including PEM-JWK converters
25 lines (24 loc) • 1.51 kB
TypeScript
/**
* converter.js
*/
import { DER, JwkExportOptionsInternal, KeyExportOptions, OctetEC, PEM } from './typedef';
/**
* Convert JWK to ASN.1 (for RSA and EC) and Octet (for EC) encoded keys.
* @param {'pem'|'der'|'oct'} output - 'pem', 'der', or 'oct' (only EC JWK), output format.
* @param {JsonWebKey} jwkey - A JWK to be encoded.
* @param {KeyExportOptions} options - Options to export key including encryption options.
* For EC JWK : options.compact = true or false
* For EC JWK with output = 'oct' : options.format = 'binary' or 'string'
* For both: outputPublic (optional) : boolean. derived key type. from private key, public key can be derived when true.
* @return {PEM|DER|OctetEC} - Output key object.
*/
export declare const fromJwkTo: (output: string | undefined, jwkey: JsonWebKey, options?: KeyExportOptions) => Promise<PEM | DER | OctetEC>;
/**
* Convert ASN.1 encoded (for RSA and EC) or octet formed (for EC) keys to JWK.
* @param {'pem'|'der'|'oct'} input - 'pem', 'der' or 'oct', input key format.
* @param {PEM|DER|OctetEC} key - A key object to be encoded.
* @param {JwkExportOptionsInternal} [options={}] - options to export JWK keys.
* @return {JsonWebKey} - Obtained key object in JWK format.
* @throws {Error} - Throws if InvalidInputForm, InappropriateOptions, outputPublicMustBeBoolean or UnsupportedConversion
*/
export declare const toJwkFrom: (input: 'pem' | 'der' | 'oct', key: PEM | DER | OctetEC, options?: JwkExportOptionsInternal) => Promise<JsonWebKey>;