mirror of
https://github.com/danbulant/jose
synced 2026-05-19 04:18:52 +00:00
30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# Function: importPKCS8
|
|
|
|
▸ **importPKCS8**(`pkcs8`, `alg`, `options?`): `Promise`<[`KeyLike`](../types/types.KeyLike.md)\>
|
|
|
|
Imports an PEM-encoded PKCS8 string as a runtime-specific private key representation (KeyObject or CryptoKey).
|
|
See [Algorithm Key Requirements](https://github.com/panva/jose/issues/210) to learn about key to algorithm
|
|
requirements and mapping. Encrypted keys are not supported.
|
|
|
|
**`example`** Usage
|
|
```js
|
|
const algorithm = 'ES256'
|
|
const pkcs8 = `-----BEGIN PRIVATE KEY-----
|
|
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiyvo0X+VQ0yIrOaN
|
|
nlrnUclopnvuuMfoc8HHly3505OhRANCAAQWUcdZ8uTSAsFuwtNy4KtsKqgeqYxg
|
|
l6kwL5D4N3pEGYGIDjV69Sw0zAt43480WqJv7HCL0mQnyqFmSrxj8jMa
|
|
-----END PRIVATE KEY-----`
|
|
const ecPrivateKey = await jose.importPKCS8(pkcs8, algorithm)
|
|
```
|
|
|
|
#### Parameters
|
|
|
|
| Name | Type | Description |
|
|
| :------ | :------ | :------ |
|
|
| `pkcs8` | `string` | - |
|
|
| `alg` | `string` | JSON Web Algorithm identifier to be used with the imported key. |
|
|
| `options?` | [`PEMImportOptions`](../interfaces/key_import.PEMImportOptions.md) | - |
|
|
|
|
#### Returns
|
|
|
|
`Promise`<[`KeyLike`](../types/types.KeyLike.md)\>
|