jose 4.2.0 → 4.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/browser/jwe/general/encrypt.js +33 -23
- package/dist/browser/jwks/remote.js +16 -12
- package/dist/browser/jws/general/sign.js +25 -29
- package/dist/browser/lib/cek.js +5 -6
- package/dist/browser/lib/decrypt_key_management.js +1 -1
- package/dist/browser/lib/encrypt_key_management.js +1 -1
- package/dist/browser/lib/iv.js +4 -11
- package/dist/browser/runtime/aeskw.js +2 -1
- package/dist/browser/runtime/asn1.js +2 -1
- package/dist/browser/runtime/decrypt.js +2 -1
- package/dist/browser/runtime/ecdhes.js +5 -4
- package/dist/browser/runtime/encrypt.js +2 -1
- package/dist/browser/runtime/get_sign_verify_key.js +3 -2
- package/dist/browser/runtime/key_to_jwk.js +2 -1
- package/dist/browser/runtime/pbes2kw.js +2 -1
- package/dist/browser/runtime/rsaes.js +3 -2
- package/dist/node/cjs/jwe/general/encrypt.js +33 -23
- package/dist/node/cjs/jwks/remote.js +16 -12
- package/dist/node/cjs/jws/general/sign.js +25 -29
- package/dist/node/cjs/lib/cek.js +5 -6
- package/dist/node/cjs/lib/decrypt_key_management.js +1 -1
- package/dist/node/cjs/lib/encrypt_key_management.js +1 -1
- package/dist/node/cjs/lib/iv.js +4 -11
- package/dist/node/cjs/runtime/aeskw.js +4 -3
- package/dist/node/cjs/runtime/asn1.js +2 -1
- package/dist/node/cjs/runtime/decrypt.js +5 -4
- package/dist/node/cjs/runtime/ecdhes.js +5 -4
- package/dist/node/cjs/runtime/encrypt.js +5 -4
- package/dist/node/cjs/runtime/get_named_curve.js +2 -1
- package/dist/node/cjs/runtime/get_sign_verify_key.js +3 -2
- package/dist/node/cjs/runtime/key_to_jwk.js +2 -1
- package/dist/node/cjs/runtime/pbes2kw.js +2 -1
- package/dist/node/cjs/runtime/rsaes.js +4 -3
- package/dist/node/esm/jwe/general/encrypt.js +33 -23
- package/dist/node/esm/jwks/remote.js +16 -12
- package/dist/node/esm/jws/general/sign.js +25 -29
- package/dist/node/esm/lib/cek.js +5 -6
- package/dist/node/esm/lib/decrypt_key_management.js +1 -1
- package/dist/node/esm/lib/encrypt_key_management.js +1 -1
- package/dist/node/esm/lib/iv.js +4 -11
- package/dist/node/esm/runtime/aeskw.js +4 -3
- package/dist/node/esm/runtime/asn1.js +2 -1
- package/dist/node/esm/runtime/decrypt.js +5 -4
- package/dist/node/esm/runtime/ecdhes.js +5 -4
- package/dist/node/esm/runtime/encrypt.js +5 -4
- package/dist/node/esm/runtime/get_named_curve.js +2 -1
- package/dist/node/esm/runtime/get_sign_verify_key.js +3 -2
- package/dist/node/esm/runtime/key_to_jwk.js +2 -1
- package/dist/node/esm/runtime/pbes2kw.js +2 -1
- package/dist/node/esm/runtime/rsaes.js +4 -3
- package/dist/types/index.d.ts +1 -1
- package/dist/types/jwe/compact/decrypt.d.ts +2 -2
- package/dist/types/jwe/compact/encrypt.d.ts +2 -2
- package/dist/types/jwe/general/encrypt.d.ts +3 -0
- package/dist/types/jws/compact/sign.d.ts +2 -2
- package/dist/types/jws/compact/verify.d.ts +2 -2
- package/dist/types/jws/general/sign.d.ts +3 -0
- package/dist/types/jwt/decrypt.d.ts +2 -2
- package/dist/types/jwt/encrypt.d.ts +2 -2
- package/dist/types/jwt/sign.d.ts +2 -2
- package/dist/types/jwt/verify.d.ts +2 -2
- package/dist/types/types.d.ts +19 -17
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { KeyLike, JWEKeyManagementHeaderParameters,
|
|
1
|
+
import type { KeyLike, JWEKeyManagementHeaderParameters, CompactJWEHeaderParameters, EncryptOptions } from '../../types';
|
|
2
2
|
export declare class CompactEncrypt {
|
|
3
3
|
private _flattened;
|
|
4
4
|
constructor(plaintext: Uint8Array);
|
|
5
5
|
setContentEncryptionKey(cek: Uint8Array): this;
|
|
6
6
|
setInitializationVector(iv: Uint8Array): this;
|
|
7
|
-
setProtectedHeader(protectedHeader:
|
|
7
|
+
setProtectedHeader(protectedHeader: CompactJWEHeaderParameters): this;
|
|
8
8
|
setKeyManagementParameters(parameters: JWEKeyManagementHeaderParameters): this;
|
|
9
9
|
encrypt(key: KeyLike | Uint8Array, options?: EncryptOptions): Promise<string>;
|
|
10
10
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { KeyLike, GeneralJWE, JWEHeaderParameters, CritOption, DeflateOption } from '../../types';
|
|
2
2
|
export interface Recipient {
|
|
3
3
|
setUnprotectedHeader(unprotectedHeader: JWEHeaderParameters): Recipient;
|
|
4
|
+
addRecipient(...args: Parameters<GeneralEncrypt['addRecipient']>): Recipient;
|
|
5
|
+
encrypt(...args: Parameters<GeneralEncrypt['encrypt']>): Promise<GeneralJWE>;
|
|
6
|
+
done(): GeneralEncrypt;
|
|
4
7
|
}
|
|
5
8
|
export declare class GeneralEncrypt {
|
|
6
9
|
private _plaintext;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CompactJWSHeaderParameters, KeyLike, SignOptions } from '../../types';
|
|
2
2
|
export declare class CompactSign {
|
|
3
3
|
private _flattened;
|
|
4
4
|
constructor(payload: Uint8Array);
|
|
5
|
-
setProtectedHeader(protectedHeader:
|
|
5
|
+
setProtectedHeader(protectedHeader: CompactJWSHeaderParameters): this;
|
|
6
6
|
sign(key: KeyLike | Uint8Array, options?: SignOptions): Promise<string>;
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CompactVerifyResult, FlattenedJWSInput, GetKeyFunction,
|
|
2
|
-
export interface CompactVerifyGetKey extends GetKeyFunction<
|
|
1
|
+
import type { CompactVerifyResult, FlattenedJWSInput, GetKeyFunction, CompactJWSHeaderParameters, KeyLike, VerifyOptions, ResolvedKey } from '../../types';
|
|
2
|
+
export interface CompactVerifyGetKey extends GetKeyFunction<CompactJWSHeaderParameters, FlattenedJWSInput> {
|
|
3
3
|
}
|
|
4
4
|
export declare function compactVerify(jws: string | Uint8Array, key: KeyLike | Uint8Array, options?: VerifyOptions): Promise<CompactVerifyResult>;
|
|
5
5
|
export declare function compactVerify(jws: string | Uint8Array, getKey: CompactVerifyGetKey, options?: VerifyOptions): Promise<CompactVerifyResult & ResolvedKey>;
|
|
@@ -2,6 +2,9 @@ import type { KeyLike, GeneralJWS, JWSHeaderParameters, SignOptions } from '../.
|
|
|
2
2
|
export interface Signature {
|
|
3
3
|
setProtectedHeader(protectedHeader: JWSHeaderParameters): Signature;
|
|
4
4
|
setUnprotectedHeader(unprotectedHeader: JWSHeaderParameters): Signature;
|
|
5
|
+
addSignature(...args: Parameters<GeneralSign['addSignature']>): Signature;
|
|
6
|
+
sign(...args: Parameters<GeneralSign['sign']>): Promise<GeneralJWS>;
|
|
7
|
+
done(): GeneralSign;
|
|
5
8
|
}
|
|
6
9
|
export declare class GeneralSign {
|
|
7
10
|
private _payload;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { KeyLike, DecryptOptions, JWTClaimVerificationOptions, GetKeyFunction,
|
|
1
|
+
import type { KeyLike, DecryptOptions, JWTClaimVerificationOptions, GetKeyFunction, CompactJWEHeaderParameters, FlattenedJWE, JWTDecryptResult, ResolvedKey } from '../types';
|
|
2
2
|
export interface JWTDecryptOptions extends DecryptOptions, JWTClaimVerificationOptions {
|
|
3
3
|
}
|
|
4
|
-
export interface JWTDecryptGetKey extends GetKeyFunction<
|
|
4
|
+
export interface JWTDecryptGetKey extends GetKeyFunction<CompactJWEHeaderParameters, FlattenedJWE> {
|
|
5
5
|
}
|
|
6
6
|
export declare function jwtDecrypt(jwt: string | Uint8Array, key: KeyLike | Uint8Array, options?: JWTDecryptOptions): Promise<JWTDecryptResult>;
|
|
7
7
|
export declare function jwtDecrypt(jwt: string | Uint8Array, getKey: JWTDecryptGetKey, options?: JWTDecryptOptions): Promise<JWTDecryptResult & ResolvedKey>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EncryptOptions,
|
|
1
|
+
import type { EncryptOptions, CompactJWEHeaderParameters, JWEKeyManagementHeaderParameters, KeyLike } from '../types';
|
|
2
2
|
import { ProduceJWT } from './produce';
|
|
3
3
|
export declare class EncryptJWT extends ProduceJWT {
|
|
4
4
|
private _cek;
|
|
@@ -8,7 +8,7 @@ export declare class EncryptJWT extends ProduceJWT {
|
|
|
8
8
|
private _replicateIssuerAsHeader;
|
|
9
9
|
private _replicateSubjectAsHeader;
|
|
10
10
|
private _replicateAudienceAsHeader;
|
|
11
|
-
setProtectedHeader(protectedHeader:
|
|
11
|
+
setProtectedHeader(protectedHeader: CompactJWEHeaderParameters): this;
|
|
12
12
|
setKeyManagementParameters(parameters: JWEKeyManagementHeaderParameters): this;
|
|
13
13
|
setContentEncryptionKey(cek: Uint8Array): this;
|
|
14
14
|
setInitializationVector(iv: Uint8Array): this;
|
package/dist/types/jwt/sign.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { JWTHeaderParameters, KeyLike, SignOptions } from '../types';
|
|
2
2
|
import { ProduceJWT } from './produce';
|
|
3
3
|
export declare class SignJWT extends ProduceJWT {
|
|
4
4
|
private _protectedHeader;
|
|
5
|
-
setProtectedHeader(protectedHeader:
|
|
5
|
+
setProtectedHeader(protectedHeader: JWTHeaderParameters): this;
|
|
6
6
|
sign(key: KeyLike | Uint8Array, options?: SignOptions): Promise<string>;
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { KeyLike, VerifyOptions, JWTClaimVerificationOptions,
|
|
1
|
+
import type { KeyLike, VerifyOptions, JWTClaimVerificationOptions, JWTHeaderParameters, GetKeyFunction, FlattenedJWSInput, JWTVerifyResult, ResolvedKey } from '../types';
|
|
2
2
|
export interface JWTVerifyOptions extends VerifyOptions, JWTClaimVerificationOptions {
|
|
3
3
|
}
|
|
4
|
-
export interface JWTVerifyGetKey extends GetKeyFunction<
|
|
4
|
+
export interface JWTVerifyGetKey extends GetKeyFunction<JWTHeaderParameters, FlattenedJWSInput> {
|
|
5
5
|
}
|
|
6
6
|
export declare function jwtVerify(jwt: string | Uint8Array, key: KeyLike | Uint8Array, options?: JWTVerifyOptions): Promise<JWTVerifyResult>;
|
|
7
7
|
export declare function jwtVerify(jwt: string | Uint8Array, getKey: JWTVerifyGetKey, options?: JWTVerifyOptions): Promise<JWTVerifyResult & ResolvedKey>;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -35,20 +35,16 @@
|
|
|
35
35
|
*
|
|
36
36
|
* @example Import a PEM-encoded SPKI Public Key
|
|
37
37
|
* ```js
|
|
38
|
-
* import { importSPKI } from 'jose'
|
|
39
|
-
*
|
|
40
38
|
* const algorithm = 'ES256'
|
|
41
39
|
* const spki = `-----BEGIN PUBLIC KEY-----
|
|
42
40
|
* MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFlHHWfLk0gLBbsLTcuCrbCqoHqmM
|
|
43
41
|
* YJepMC+Q+Dd6RBmBiA41evUsNMwLeN+PNFqib+xwi9JkJ8qhZkq8Y/IzGg==
|
|
44
42
|
* -----END PUBLIC KEY-----`
|
|
45
|
-
* const ecPublicKey = await importSPKI(spki, algorithm)
|
|
43
|
+
* const ecPublicKey = await jose.importSPKI(spki, algorithm)
|
|
46
44
|
* ```
|
|
47
45
|
*
|
|
48
46
|
* @example Import a X.509 Certificate
|
|
49
47
|
* ```js
|
|
50
|
-
* import { importX509 } from 'jose'
|
|
51
|
-
*
|
|
52
48
|
* const algorithm = 'ES256'
|
|
53
49
|
* const x509 = `-----BEGIN CERTIFICATE-----
|
|
54
50
|
* MIIBXjCCAQSgAwIBAgIGAXvykuMKMAoGCCqGSM49BAMCMDYxNDAyBgNVBAMMK3Np
|
|
@@ -60,34 +56,30 @@
|
|
|
60
56
|
* 1yyMTRe66MhEXID9+uVub7woMkNYd0LhSHwKSPMUUTkCIFQGsfm1ecXOpeGOufAh
|
|
61
57
|
* v+A1QWZMuTWqYt+uh/YSRNDn
|
|
62
58
|
* -----END CERTIFICATE-----`
|
|
63
|
-
* const ecPublicKey = await importX509(x509, algorithm)
|
|
59
|
+
* const ecPublicKey = await jose.importX509(x509, algorithm)
|
|
64
60
|
* ```
|
|
65
61
|
*
|
|
66
62
|
* @example Import a PEM-encoded PKCS8 Private Key
|
|
67
63
|
* ```js
|
|
68
|
-
* import { importPKCS8 } from 'jose'
|
|
69
|
-
*
|
|
70
64
|
* const algorithm = 'ES256'
|
|
71
65
|
* const pkcs8 = `-----BEGIN PRIVATE KEY-----
|
|
72
66
|
* MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgiyvo0X+VQ0yIrOaN
|
|
73
67
|
* nlrnUclopnvuuMfoc8HHly3505OhRANCAAQWUcdZ8uTSAsFuwtNy4KtsKqgeqYxg
|
|
74
68
|
* l6kwL5D4N3pEGYGIDjV69Sw0zAt43480WqJv7HCL0mQnyqFmSrxj8jMa
|
|
75
69
|
* -----END PRIVATE KEY-----`
|
|
76
|
-
* const ecPrivateKey = await importPKCS8(pkcs8, algorithm)
|
|
70
|
+
* const ecPrivateKey = await jose.importPKCS8(pkcs8, algorithm)
|
|
77
71
|
* ```
|
|
78
72
|
*
|
|
79
73
|
* @example Import a JSON Web Key (JWK)
|
|
80
74
|
* ```js
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* const ecPublicKey = await importJWK({
|
|
75
|
+
* const ecPublicKey = await jose.importJWK({
|
|
84
76
|
* crv: 'P-256',
|
|
85
77
|
* kty: 'EC',
|
|
86
78
|
* x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw',
|
|
87
79
|
* y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo'
|
|
88
80
|
* }, 'ES256')
|
|
89
81
|
*
|
|
90
|
-
* const rsaPublicKey = await importJWK({
|
|
82
|
+
* const rsaPublicKey = await jose.importJWK({
|
|
91
83
|
* kty: 'RSA',
|
|
92
84
|
* e: 'AQAB',
|
|
93
85
|
* n: '12oBZRhCiZFJLcPg59LkZZ9mdhSMTKAQZYq32k_ti5SBB6jerkh-WzOMAO664r_qyLkqHUSp3u5SbXtseZEpN3XPWGKSxjsy-1JyEFTdLSYe6f9gfrmxkUF_7DTpq0gn6rntP05g2-wFW50YO7mosfdslfrTJYWHFhJALabAeYirYD7-9kqq9ebfFMF4sRRELbv9oi36As6Q9B3Qb5_C1rAzqfao_PCsf9EPsTZsVVVkA5qoIAr47lo1ipfiBPxUCCNSdvkmDTYgvvRm6ZoMjFbvOtgyts55fXKdMWv7I9HMD5HwE9uW839PWA514qhbcIsXEYSFMPMV6fnlsiZvQQ'
|
|
@@ -243,7 +235,7 @@ export interface FlattenedDecryptResult {
|
|
|
243
235
|
export interface GeneralDecryptResult extends FlattenedDecryptResult {}
|
|
244
236
|
export interface CompactDecryptResult {
|
|
245
237
|
plaintext: Uint8Array
|
|
246
|
-
protectedHeader:
|
|
238
|
+
protectedHeader: CompactJWEHeaderParameters
|
|
247
239
|
}
|
|
248
240
|
export interface FlattenedVerifyResult {
|
|
249
241
|
payload: Uint8Array
|
|
@@ -253,16 +245,26 @@ export interface FlattenedVerifyResult {
|
|
|
253
245
|
export interface GeneralVerifyResult extends FlattenedVerifyResult {}
|
|
254
246
|
export interface CompactVerifyResult {
|
|
255
247
|
payload: Uint8Array
|
|
256
|
-
protectedHeader:
|
|
248
|
+
protectedHeader: CompactJWSHeaderParameters
|
|
257
249
|
}
|
|
258
250
|
export interface JWTVerifyResult {
|
|
259
251
|
payload: JWTPayload
|
|
260
|
-
protectedHeader:
|
|
252
|
+
protectedHeader: JWTHeaderParameters
|
|
261
253
|
}
|
|
262
254
|
export interface JWTDecryptResult {
|
|
263
255
|
payload: JWTPayload
|
|
264
|
-
protectedHeader:
|
|
256
|
+
protectedHeader: CompactJWEHeaderParameters
|
|
265
257
|
}
|
|
266
258
|
export interface ResolvedKey {
|
|
267
259
|
key: KeyLike | Uint8Array
|
|
268
260
|
}
|
|
261
|
+
export interface CompactJWSHeaderParameters extends JWSHeaderParameters {
|
|
262
|
+
alg: string
|
|
263
|
+
}
|
|
264
|
+
export interface JWTHeaderParameters extends CompactJWSHeaderParameters {
|
|
265
|
+
b64: never
|
|
266
|
+
}
|
|
267
|
+
export interface CompactJWEHeaderParameters extends JWEHeaderParameters {
|
|
268
|
+
alg: string
|
|
269
|
+
enc: string
|
|
270
|
+
}
|