Skip to main content
KeyObject.prototype.export - crypto - Node documentation
method KeyObject.prototype.export

Usage in Deno

import { KeyObject } from "node:crypto";
KeyObject.prototype.export(options: KeyExportOptions<"pem">): string | Buffer

For symmetric keys, the following encoding options can be used:

For public keys, the following encoding options can be used:

For private keys, the following encoding options can be used:

The result type depends on the selected encoding format, when PEM the result is a string, when DER it will be a buffer containing the data encoded as DER, when JWK it will be an object.

When JWK encoding format was selected, all other encoding options are ignored.

PKCS#1, SEC1, and PKCS#8 type keys can be encrypted by using a combination of the cipher and format options. The PKCS#8 type can be used with anyformat to encrypt any key algorithm (RSA, EC, or DH) by specifying acipher. PKCS#1 and SEC1 can only be encrypted by specifying a cipherwhen the PEM format is used. For maximum compatibility, use PKCS#8 for encrypted private keys. Since PKCS#8 defines its own encryption mechanism, PEM-level encryption is not supported when encrypting a PKCS#8 key. See RFC 5208 for PKCS#8 encryption and RFC 1421 for PKCS#1 and SEC1 encryption.

Parameters

options: KeyExportOptions<"pem">

Return Type

string | Buffer
KeyObject.prototype.export(options?: KeyExportOptions<"der">): Buffer

Parameters

optional
options: KeyExportOptions<"der">

Return Type

Buffer
KeyObject.prototype.export(options?: JwkKeyExportOptions): JsonWebKey

Parameters

optional
options: JwkKeyExportOptions

Return Type

Back to top