jose 4.1.3 → 4.2.1
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 +4 -1
- package/dist/browser/index.js +1 -0
- package/dist/browser/jwe/flattened/encrypt.js +15 -4
- package/dist/browser/jwe/general/decrypt.js +3 -0
- package/dist/browser/jwe/general/encrypt.js +156 -0
- package/dist/browser/jws/general/sign.js +6 -16
- package/dist/browser/key/import.js +2 -1
- 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/check_key_length.js +0 -7
- 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/index.js +9 -7
- package/dist/node/cjs/jwe/flattened/encrypt.js +16 -5
- package/dist/node/cjs/jwe/general/decrypt.js +3 -0
- package/dist/node/cjs/jwe/general/encrypt.js +160 -0
- package/dist/node/cjs/jws/general/sign.js +6 -16
- package/dist/node/cjs/key/import.js +2 -1
- 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 +13 -10
- package/dist/node/cjs/runtime/ecdhes.js +5 -4
- package/dist/node/cjs/runtime/encrypt.js +7 -5
- 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/cjs/runtime/sign.js +0 -4
- package/dist/node/esm/index.js +1 -0
- package/dist/node/esm/jwe/flattened/encrypt.js +15 -4
- package/dist/node/esm/jwe/general/decrypt.js +3 -0
- package/dist/node/esm/jwe/general/encrypt.js +156 -0
- package/dist/node/esm/jws/general/sign.js +6 -16
- package/dist/node/esm/key/import.js +2 -1
- 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 +13 -10
- package/dist/node/esm/runtime/ecdhes.js +5 -4
- package/dist/node/esm/runtime/encrypt.js +7 -5
- 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/node/esm/runtime/sign.js +0 -4
- package/dist/types/index.d.ts +3 -1
- package/dist/types/jwe/flattened/encrypt.d.ts +1 -0
- package/dist/types/jwe/general/encrypt.d.ts +17 -0
- package/dist/types/types.d.ts +2 -1
- package/package.json +1 -1
|
@@ -14,10 +14,6 @@ else {
|
|
|
14
14
|
const sign = async (alg, key, data) => {
|
|
15
15
|
const keyObject = getSignKey(alg, key, 'sign');
|
|
16
16
|
if (alg.startsWith('HS')) {
|
|
17
|
-
const bitlen = parseInt(alg.substr(-3), 10);
|
|
18
|
-
if (!keyObject.symmetricKeySize || keyObject.symmetricKeySize << 3 < bitlen) {
|
|
19
|
-
throw new TypeError(`${alg} requires symmetric keys to be ${bitlen} bits or larger`);
|
|
20
|
-
}
|
|
21
17
|
const hmac = crypto.createHmac(hmacDigest(alg), keyObject);
|
|
22
18
|
hmac.update(data);
|
|
23
19
|
return hmac.digest();
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { flattenedDecrypt } from './jwe/flattened/decrypt';
|
|
|
4
4
|
export type { FlattenedDecryptGetKey } from './jwe/flattened/decrypt';
|
|
5
5
|
export { generalDecrypt } from './jwe/general/decrypt';
|
|
6
6
|
export type { GeneralDecryptGetKey } from './jwe/general/decrypt';
|
|
7
|
+
export { GeneralEncrypt } from './jwe/general/encrypt';
|
|
8
|
+
export type { Recipient } from './jwe/general/encrypt';
|
|
7
9
|
export { compactVerify } from './jws/compact/verify';
|
|
8
10
|
export type { CompactVerifyGetKey } from './jws/compact/verify';
|
|
9
11
|
export { flattenedVerify } from './jws/flattened/verify';
|
|
@@ -40,4 +42,4 @@ export type { GenerateKeyPairResult, GenerateKeyPairOptions } from './key/genera
|
|
|
40
42
|
export { generateSecret } from './key/generate_secret';
|
|
41
43
|
export type { GenerateSecretOptions } from './key/generate_secret';
|
|
42
44
|
export * as base64url from './util/base64url';
|
|
43
|
-
export type { KeyLike, JWK, FlattenedJWSInput, GeneralJWSInput, FlattenedJWS, GeneralJWS, JoseHeaderParameters, JWSHeaderParameters, JWEKeyManagementHeaderParameters, FlattenedJWE, GeneralJWE, JWEHeaderParameters, CritOption, DecryptOptions, EncryptOptions, JWTClaimVerificationOptions, VerifyOptions, SignOptions, JWTPayload, DeflateFunction, InflateFunction, FlattenedDecryptResult, GeneralDecryptResult, CompactDecryptResult, FlattenedVerifyResult, GeneralVerifyResult, CompactVerifyResult, JWTVerifyResult, JWTDecryptResult, ResolvedKey, } from './types';
|
|
45
|
+
export type { KeyLike, JWK, FlattenedJWSInput, GeneralJWSInput, FlattenedJWS, GeneralJWS, JoseHeaderParameters, JWSHeaderParameters, JWEKeyManagementHeaderParameters, FlattenedJWE, GeneralJWE, JWEHeaderParameters, CritOption, DeflateOption, DecryptOptions, EncryptOptions, JWTClaimVerificationOptions, VerifyOptions, SignOptions, JWTPayload, DeflateFunction, InflateFunction, FlattenedDecryptResult, GeneralDecryptResult, CompactDecryptResult, FlattenedVerifyResult, GeneralVerifyResult, CompactVerifyResult, JWTVerifyResult, JWTDecryptResult, ResolvedKey, } from './types';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { KeyLike, GeneralJWE, JWEHeaderParameters, CritOption, DeflateOption } from '../../types';
|
|
2
|
+
export interface Recipient {
|
|
3
|
+
setUnprotectedHeader(unprotectedHeader: JWEHeaderParameters): Recipient;
|
|
4
|
+
}
|
|
5
|
+
export declare class GeneralEncrypt {
|
|
6
|
+
private _plaintext;
|
|
7
|
+
private _recipients;
|
|
8
|
+
private _protectedHeader;
|
|
9
|
+
private _unprotectedHeader;
|
|
10
|
+
private _aad;
|
|
11
|
+
constructor(plaintext: Uint8Array);
|
|
12
|
+
addRecipient(key: KeyLike | Uint8Array, options?: CritOption): Recipient;
|
|
13
|
+
setProtectedHeader(protectedHeader: JWEHeaderParameters): this;
|
|
14
|
+
setSharedUnprotectedHeader(sharedUnprotectedHeader: JWEHeaderParameters): this;
|
|
15
|
+
setAdditionalAuthenticatedData(aad: Uint8Array): this;
|
|
16
|
+
encrypt(options?: DeflateOption): Promise<GeneralJWE>;
|
|
17
|
+
}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -200,9 +200,10 @@ export interface DecryptOptions extends CritOption {
|
|
|
200
200
|
contentEncryptionAlgorithms?: string[]
|
|
201
201
|
inflateRaw?: InflateFunction
|
|
202
202
|
}
|
|
203
|
-
export interface
|
|
203
|
+
export interface DeflateOption {
|
|
204
204
|
deflateRaw?: DeflateFunction
|
|
205
205
|
}
|
|
206
|
+
export interface EncryptOptions extends CritOption, DeflateOption {}
|
|
206
207
|
export interface JWTClaimVerificationOptions {
|
|
207
208
|
audience?: string | string[]
|
|
208
209
|
clockTolerance?: string | number
|