deno.land / x / jose@v5.2.4 / key / generate_key_pair.ts

generate_key_pair.ts
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import { generateKeyPair as generate } from '../runtime/generate.ts'
import type { KeyLike } from '../types.d.ts'
export interface GenerateKeyPairResult<KeyLikeType extends KeyLike = KeyLike> { /** The generated Private Key. */ privateKey: KeyLikeType
/** Public Key corresponding to the generated Private Key. */ publicKey: KeyLikeType}
export interface GenerateKeyPairOptions { /** * The EC "crv" (Curve) or OKP "crv" (Subtype of Key Pair) value to generate. The curve must be * both supported on the runtime as well as applicable for the given JWA algorithm identifier. */ crv?: string
/** * A hint for RSA algorithms to generate an RSA key of a given `modulusLength` (Key size in bits). * JOSE requires 2048 bits or larger. Default is 2048. */ modulusLength?: number
/** * (Only effective in Web Crypto API runtimes) The value to use as * {@link https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/generateKey SubtleCrypto.generateKey()} * `extractable` argument. Default is false. * */ extractable?: boolean}
/** * Generates a private and a public key for a given JWA algorithm identifier. This can only generate * asymmetric key pairs. For symmetric secrets use the `generateSecret` function. * * Note: Under Web Crypto API runtime the `privateKey` is generated with `extractable` set to * `false` by default. See {@link GenerateKeyPairOptions.extractable} to generate an extractable * `privateKey`. * * @param alg JWA Algorithm Identifier to be used with the generated key pair. * @param options Additional options passed down to the key pair generation. */export async function generateKeyPair<KeyLikeType extends KeyLike = KeyLike>( alg: string, options?: GenerateKeyPairOptions,): Promise<GenerateKeyPairResult<KeyLikeType>> { // @ts-ignore return generate(alg, options)}
jose

Version Info

Tagged at
a month ago