Back to Jose

Function: importPKCS8()

docs/key/import/functions/importPKCS8.md

6.2.21.9 KB
Original Source

Function: importPKCS8()

šŸ’— Help the project

Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by becoming a sponsor.

ā–ø importPKCS8(pkcs8, alg, options?): Promise<CryptoKey>

Imports a PEM-encoded PKCS#8 string as a CryptoKey.

[!NOTE]
The OID id-RSASSA-PSS (1.2.840.113549.1.1.10) is not supported in Web Cryptography API, use the OID rsaEncryption (1.2.840.113549.1.1.1) instead for all RSA algorithms.

This function is exported (as a named export) from the main 'jose' module entry point as well as from its subpath export 'jose/key/import'.

Parameters

ParameterTypeDescription
pkcs8stringPEM-encoded PKCS#8 string
algstringJSON Web Algorithm identifier to be used with the imported key. See Algorithm Key Requirements.
options?KeyImportOptions-

Returns

Promise<CryptoKey>

Example

js
const algorithm = 'ES256'
const pkcs8 = `-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiyvo0X+VQ0yIrOaN
nlrnUclopnvuuMfoc8HHly3505OhRANCAAQWUcdZ8uTSAsFuwtNy4KtsKqgeqYxg
l6kwL5D4N3pEGYGIDjV69Sw0zAt43480WqJv7HCL0mQnyqFmSrxj8jMa
-----END PRIVATE KEY-----`
const ecPrivateKey = await jose.importPKCS8(pkcs8, algorithm)