UNPKG

js-crypto-key-utils

Version:

Universal Module for Cryptographic Key Utilities in JavaScript, including PEM-JWK converters

25 lines (24 loc) 1.51 kB
/** * 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>;