@@ -17,33 +17,29 @@ function randomKid(): KeyId {
1717 * Generate a new key for the given algorithm.
1818 * A random key ID is assigned if none is provided.
1919 */
20- export async function generate (
21- algorithm : Algorithm ,
22- kid ?: string ,
23- options ?: { guest ?: string [ ] ; guest_sub ?: string [ ] ; guest_pub ?: string [ ] } ,
24- ) : Promise < Key > {
20+ export async function generate ( algorithm : Algorithm , kid ?: string ) : Promise < Key > {
2521 const validKid : KeyId = kid ?. trim ( ) ? KeyIdSchema . parse ( kid . trim ( ) ) : randomKid ( ) ;
2622 switch ( algorithm ) {
2723 case "HS256" :
28- return generateHmacKey ( algorithm , 32 , validKid , options ) ;
24+ return generateHmacKey ( algorithm , 32 , validKid ) ;
2925 case "HS384" :
30- return generateHmacKey ( algorithm , 48 , validKid , options ) ;
26+ return generateHmacKey ( algorithm , 48 , validKid ) ;
3127 case "HS512" :
32- return generateHmacKey ( algorithm , 64 , validKid , options ) ;
28+ return generateHmacKey ( algorithm , 64 , validKid ) ;
3329 case "RS256" :
3430 case "RS384" :
3531 case "RS512" :
36- return generateRsaKey ( algorithm , "RSASSA-PKCS1-v1_5" , validKid , options ) ;
32+ return generateRsaKey ( algorithm , "RSASSA-PKCS1-v1_5" , validKid ) ;
3733 case "PS256" :
3834 case "PS384" :
3935 case "PS512" :
40- return generateRsaKey ( algorithm , "RSA-PSS" , validKid , options ) ;
36+ return generateRsaKey ( algorithm , "RSA-PSS" , validKid ) ;
4137 case "ES256" :
42- return generateEcKey ( algorithm , "P-256" , validKid , options ) ;
38+ return generateEcKey ( algorithm , "P-256" , validKid ) ;
4339 case "ES384" :
44- return generateEcKey ( algorithm , "P-384" , validKid , options ) ;
40+ return generateEcKey ( algorithm , "P-384" , validKid ) ;
4541 case "EdDSA" :
46- return generateEdDsaKey ( algorithm , validKid , options ) ;
42+ return generateEdDsaKey ( algorithm , validKid ) ;
4743 default :
4844 throw new Error ( `Unsupported algorithm: ${ algorithm } ` ) ;
4945 }
@@ -52,12 +48,7 @@ export async function generate(
5248/**
5349 * Generate an HMAC symmetric key
5450 */
55- async function generateHmacKey (
56- alg : Algorithm ,
57- byteLength : number ,
58- kid : KeyId ,
59- options ?: { guest ?: string [ ] ; guest_sub ?: string [ ] ; guest_pub ?: string [ ] } ,
60- ) : Promise < Key > {
51+ async function generateHmacKey ( alg : Algorithm , byteLength : number , kid : KeyId ) : Promise < Key > {
6152 const bytes = new Uint8Array ( byteLength ) ;
6253 crypto . getRandomValues ( bytes ) ;
6354
@@ -69,21 +60,13 @@ async function generateHmacKey(
6960 k,
7061 kid,
7162 key_ops : [ "sign" , "verify" ] ,
72- guest : options ?. guest ?? [ ] ,
73- guest_sub : options ?. guest_sub ?? [ ] ,
74- guest_pub : options ?. guest_pub ?? [ ] ,
7563 } ;
7664}
7765
7866/**
7967 * Generate an RSA asymmetric key pair
8068 */
81- async function generateRsaKey (
82- alg : Algorithm ,
83- name : "RSASSA-PKCS1-v1_5" | "RSA-PSS" ,
84- kid : KeyId ,
85- options ?: { guest ?: string [ ] ; guest_sub ?: string [ ] ; guest_pub ?: string [ ] } ,
86- ) : Promise < Key > {
69+ async function generateRsaKey ( alg : Algorithm , name : "RSASSA-PKCS1-v1_5" | "RSA-PSS" , kid : KeyId ) : Promise < Key > {
8770 const keyPair = await crypto . subtle . generateKey (
8871 {
8972 name,
@@ -121,21 +104,13 @@ async function generateRsaKey(
121104 qi : jwk . qi ,
122105 kid,
123106 key_ops : [ "sign" , "verify" ] ,
124- guest : options ?. guest ?? [ ] ,
125- guest_sub : options ?. guest_sub ?? [ ] ,
126- guest_pub : options ?. guest_pub ?? [ ] ,
127107 } ;
128108}
129109
130110/**
131111 * Generate an elliptic curve asymmetric key pair
132112 */
133- async function generateEcKey (
134- alg : "ES256" | "ES384" ,
135- namedCurve : "P-256" | "P-384" ,
136- kid : KeyId ,
137- options ?: { guest ?: string [ ] ; guest_sub ?: string [ ] ; guest_pub ?: string [ ] } ,
138- ) : Promise < Key > {
113+ async function generateEcKey ( alg : "ES256" | "ES384" , namedCurve : "P-256" | "P-384" , kid : KeyId ) : Promise < Key > {
139114 const keyPair = await crypto . subtle . generateKey (
140115 {
141116 name : "ECDSA" ,
@@ -163,20 +138,13 @@ async function generateEcKey(
163138 d : jwk . d ,
164139 kid,
165140 key_ops : [ "sign" , "verify" ] ,
166- guest : options ?. guest ?? [ ] ,
167- guest_sub : options ?. guest_sub ?? [ ] ,
168- guest_pub : options ?. guest_pub ?? [ ] ,
169141 } ;
170142}
171143
172144/**
173145 * Generate an EdDSA key pair using Ed25519
174146 */
175- async function generateEdDsaKey (
176- alg : "EdDSA" ,
177- kid : KeyId ,
178- options ?: { guest ?: string [ ] ; guest_sub ?: string [ ] ; guest_pub ?: string [ ] } ,
179- ) : Promise < Key > {
147+ async function generateEdDsaKey ( alg : "EdDSA" , kid : KeyId ) : Promise < Key > {
180148 const keyPair = await crypto . subtle . generateKey (
181149 {
182150 name : "Ed25519" ,
@@ -201,9 +169,6 @@ async function generateEdDsaKey(
201169 d : jwk . d ,
202170 kid,
203171 key_ops : [ "sign" , "verify" ] ,
204- guest : options ?. guest ?? [ ] ,
205- guest_sub : options ?. guest_sub ?? [ ] ,
206- guest_pub : options ?. guest_pub ?? [ ] ,
207172 } ;
208173}
209174
0 commit comments