@hellocoop/httpsig
Advanced tools
| /** | ||
| * Typed verification errors | ||
| * | ||
| * Verification failures carry the Signature-Error code the server should | ||
| * report, rather than leaving it to be recovered by matching on message text. | ||
| */ | ||
| import { SignatureErrorCode } from './types.js'; | ||
| export interface SignatureVerificationErrorOptions { | ||
| /** Covered components the server requires, for invalid_input. */ | ||
| requiredInput?: string[]; | ||
| cause?: unknown; | ||
| } | ||
| export declare class SignatureVerificationError extends Error { | ||
| readonly code: SignatureErrorCode; | ||
| readonly requiredInput?: string[]; | ||
| constructor(code: SignatureErrorCode, message: string, options?: SignatureVerificationErrorOptions); | ||
| } | ||
| /** The key material is malformed, or forbidden by the specification. */ | ||
| export declare function invalidKey(message: string): SignatureVerificationError; | ||
| /** The algorithm is well formed but this implementation cannot use it. */ | ||
| export declare function unsupportedAlgorithm(message: string): SignatureVerificationError; | ||
| /** The Signature-Key scheme is not one this implementation understands. */ | ||
| export declare function unsupportedScheme(message: string): SignatureVerificationError; | ||
| /** The assertion is malformed. */ | ||
| export declare function invalidJwt(message: string): SignatureVerificationError; | ||
| /** The assertion is well formed but no longer valid. */ | ||
| export declare function expiredJwt(message: string): SignatureVerificationError; | ||
| /** The covered components are missing something the verifier requires. */ | ||
| export declare function invalidInput(message: string, requiredInput?: string[]): SignatureVerificationError; | ||
| //# sourceMappingURL=errors.d.ts.map |
| {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,MAAM,WAAW,iCAAiC;IAC9C,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;gBAG7B,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iCAAsC;CAOtD;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAEtE;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,MAAM,GAChB,0BAA0B,CAE5B;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAE7E;AAED,kCAAkC;AAClC,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAEtE;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,0BAA0B,CAEtE;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CACxB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EAAE,GACzB,0BAA0B,CAI5B"} |
| "use strict"; | ||
| /** | ||
| * Typed verification errors | ||
| * | ||
| * Verification failures carry the Signature-Error code the server should | ||
| * report, rather than leaving it to be recovered by matching on message text. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.SignatureVerificationError = void 0; | ||
| exports.invalidKey = invalidKey; | ||
| exports.unsupportedAlgorithm = unsupportedAlgorithm; | ||
| exports.unsupportedScheme = unsupportedScheme; | ||
| exports.invalidJwt = invalidJwt; | ||
| exports.expiredJwt = expiredJwt; | ||
| exports.invalidInput = invalidInput; | ||
| class SignatureVerificationError extends Error { | ||
| code; | ||
| requiredInput; | ||
| constructor(code, message, options = {}) { | ||
| super(message, { cause: options.cause }); | ||
| this.name = 'SignatureVerificationError'; | ||
| this.code = code; | ||
| this.requiredInput = options.requiredInput; | ||
| } | ||
| } | ||
| exports.SignatureVerificationError = SignatureVerificationError; | ||
| /** The key material is malformed, or forbidden by the specification. */ | ||
| function invalidKey(message) { | ||
| return new SignatureVerificationError('invalid_key', message); | ||
| } | ||
| /** The algorithm is well formed but this implementation cannot use it. */ | ||
| function unsupportedAlgorithm(message) { | ||
| return new SignatureVerificationError('unsupported_algorithm', message); | ||
| } | ||
| /** The Signature-Key scheme is not one this implementation understands. */ | ||
| function unsupportedScheme(message) { | ||
| return new SignatureVerificationError('unsupported_scheme', message); | ||
| } | ||
| /** The assertion is malformed. */ | ||
| function invalidJwt(message) { | ||
| return new SignatureVerificationError('invalid_jwt', message); | ||
| } | ||
| /** The assertion is well formed but no longer valid. */ | ||
| function expiredJwt(message) { | ||
| return new SignatureVerificationError('expired_jwt', message); | ||
| } | ||
| /** The covered components are missing something the verifier requires. */ | ||
| function invalidInput(message, requiredInput) { | ||
| return new SignatureVerificationError('invalid_input', message, { | ||
| requiredInput, | ||
| }); | ||
| } | ||
| //# sourceMappingURL=errors.js.map |
| {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA2BH,gCAEC;AAGD,oDAIC;AAGD,8CAEC;AAGD,gCAEC;AAGD,gCAEC;AAGD,oCAOC;AAnDD,MAAa,0BAA2B,SAAQ,KAAK;IACxC,IAAI,CAAoB;IACxB,aAAa,CAAW;IAEjC,YACI,IAAwB,EACxB,OAAe,EACf,UAA6C,EAAE;QAE/C,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC9C,CAAC;CACJ;AAdD,gEAcC;AAED,wEAAwE;AACxE,SAAgB,UAAU,CAAC,OAAe;IACtC,OAAO,IAAI,0BAA0B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAED,0EAA0E;AAC1E,SAAgB,oBAAoB,CAChC,OAAe;IAEf,OAAO,IAAI,0BAA0B,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;AAC3E,CAAC;AAED,2EAA2E;AAC3E,SAAgB,iBAAiB,CAAC,OAAe;IAC7C,OAAO,IAAI,0BAA0B,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;AACxE,CAAC;AAED,kCAAkC;AAClC,SAAgB,UAAU,CAAC,OAAe;IACtC,OAAO,IAAI,0BAA0B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAED,wDAAwD;AACxD,SAAgB,UAAU,CAAC,OAAe;IACtC,OAAO,IAAI,0BAA0B,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAED,0EAA0E;AAC1E,SAAgB,YAAY,CACxB,OAAe,EACf,aAAwB;IAExB,OAAO,IAAI,0BAA0B,CAAC,eAAe,EAAE,OAAO,EAAE;QAC5D,aAAa;KAChB,CAAC,CAAA;AACN,CAAC"} |
+5
-4
@@ -8,8 +8,9 @@ /** | ||
| export { expressVerify, fastifyVerify, nextJsVerify, nextJsPagesVerify, } from './helpers.js'; | ||
| export { generateSignatureErrorHeader, parseSignatureError, generateAcceptSignatureHeader, parseAcceptSignature, } from './utils/signature.js'; | ||
| export { generateKeyPair } from './utils/crypto.js'; | ||
| export type { GenerateKeyPairOptions, KeyPair } from './utils/crypto.js'; | ||
| export { generateSignatureErrorHeader, parseSignatureError, generateAcceptSignatureHeader, parseAcceptSignature, generateAcceptSignatureSchemeHeader, parseAcceptSignatureScheme, generateAcceptSignatureAlgHeader, parseAcceptSignatureAlg, } from './utils/signature.js'; | ||
| export { generateKeyPair, determineAlgorithm } from './utils/crypto.js'; | ||
| export type { GenerateKeyPairOptions, GeneratableAlgorithm, KeyPair, } from './utils/crypto.js'; | ||
| export { SignatureVerificationError } from './errors.js'; | ||
| export { calculateThumbprint } from './utils/thumbprint.js'; | ||
| export type { HttpSigFetchOptions, HttpSigFetchResultWithSent, SentRequest, SignatureKeyType, VerifyRequest, VerifyOptions, VerificationResult, SignatureError, SignatureErrorCode, AcceptSignatureParams, SigKeyValue, } from './types.js'; | ||
| export type { HttpSigFetchOptions, HttpSigFetchResultWithSent, SentRequest, SignatureKeyType, VerifyRequest, VerifyOptions, VerificationResult, SignatureError, SignatureErrorCode, SignatureKeyScheme, SignatureAlgorithm, AcceptSignatureParams, } from './types.js'; | ||
| export { VALID_DERIVED_COMPONENTS, DEFAULT_COMPONENTS_GET, DEFAULT_COMPONENTS_BODY, } from './types.js'; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EACH,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,GACpB,MAAM,cAAc,CAAA;AAErB,OAAO,EACH,4BAA4B,EAC5B,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,GACvB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAExE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,YAAY,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,WAAW,GACd,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,GAC1B,MAAM,YAAY,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,EACH,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,GACpB,MAAM,cAAc,CAAA;AAErB,OAAO,EACH,4BAA4B,EAC5B,mBAAmB,EACnB,6BAA6B,EAC7B,oBAAoB,EACpB,mCAAmC,EACnC,0BAA0B,EAC1B,gCAAgC,EAChC,uBAAuB,GAC1B,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACvE,YAAY,EACR,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,GACV,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,YAAY,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACH,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,GAC1B,MAAM,YAAY,CAAA"} |
+8
-1
@@ -7,3 +7,3 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.DEFAULT_COMPONENTS_BODY = exports.DEFAULT_COMPONENTS_GET = exports.VALID_DERIVED_COMPONENTS = exports.calculateThumbprint = exports.generateKeyPair = exports.parseAcceptSignature = exports.generateAcceptSignatureHeader = exports.parseSignatureError = exports.generateSignatureErrorHeader = exports.nextJsPagesVerify = exports.nextJsVerify = exports.fastifyVerify = exports.expressVerify = exports.verify = void 0; | ||
| exports.DEFAULT_COMPONENTS_BODY = exports.DEFAULT_COMPONENTS_GET = exports.VALID_DERIVED_COMPONENTS = exports.calculateThumbprint = exports.SignatureVerificationError = exports.determineAlgorithm = exports.generateKeyPair = exports.parseAcceptSignatureAlg = exports.generateAcceptSignatureAlgHeader = exports.parseAcceptSignatureScheme = exports.generateAcceptSignatureSchemeHeader = exports.parseAcceptSignature = exports.generateAcceptSignatureHeader = exports.parseSignatureError = exports.generateSignatureErrorHeader = exports.nextJsPagesVerify = exports.nextJsVerify = exports.fastifyVerify = exports.expressVerify = exports.verify = void 0; | ||
| var fetch_js_1 = require("./fetch.js"); | ||
@@ -23,4 +23,11 @@ Object.defineProperty(exports, "fetch", { enumerable: true, get: function () { return fetch_js_1.fetch; } }); | ||
| Object.defineProperty(exports, "parseAcceptSignature", { enumerable: true, get: function () { return signature_js_1.parseAcceptSignature; } }); | ||
| Object.defineProperty(exports, "generateAcceptSignatureSchemeHeader", { enumerable: true, get: function () { return signature_js_1.generateAcceptSignatureSchemeHeader; } }); | ||
| Object.defineProperty(exports, "parseAcceptSignatureScheme", { enumerable: true, get: function () { return signature_js_1.parseAcceptSignatureScheme; } }); | ||
| Object.defineProperty(exports, "generateAcceptSignatureAlgHeader", { enumerable: true, get: function () { return signature_js_1.generateAcceptSignatureAlgHeader; } }); | ||
| Object.defineProperty(exports, "parseAcceptSignatureAlg", { enumerable: true, get: function () { return signature_js_1.parseAcceptSignatureAlg; } }); | ||
| var crypto_js_1 = require("./utils/crypto.js"); | ||
| Object.defineProperty(exports, "generateKeyPair", { enumerable: true, get: function () { return crypto_js_1.generateKeyPair; } }); | ||
| Object.defineProperty(exports, "determineAlgorithm", { enumerable: true, get: function () { return crypto_js_1.determineAlgorithm; } }); | ||
| var errors_js_1 = require("./errors.js"); | ||
| Object.defineProperty(exports, "SignatureVerificationError", { enumerable: true, get: function () { return errors_js_1.SignatureVerificationError; } }); | ||
| var thumbprint_js_1 = require("./utils/thumbprint.js"); | ||
@@ -27,0 +34,0 @@ Object.defineProperty(exports, "calculateThumbprint", { enumerable: true, get: function () { return thumbprint_js_1.calculateThumbprint; } }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uCAAkC;AAAzB,iGAAA,KAAK,OAAA;AACd,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AAEf,2CAKqB;AAJjB,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,+GAAA,iBAAiB,OAAA;AAGrB,qDAK6B;AAJzB,4HAAA,4BAA4B,OAAA;AAC5B,mHAAA,mBAAmB,OAAA;AACnB,6HAAA,6BAA6B,OAAA;AAC7B,oHAAA,oBAAoB,OAAA;AAGxB,+CAAmD;AAA1C,4GAAA,eAAe,OAAA;AAGxB,uDAA2D;AAAlD,oHAAA,mBAAmB,OAAA;AAgB5B,uCAImB;AAHf,oHAAA,wBAAwB,OAAA;AACxB,kHAAA,sBAAsB,OAAA;AACtB,mHAAA,uBAAuB,OAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uCAAkC;AAAzB,iGAAA,KAAK,OAAA;AACd,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AAEf,2CAKqB;AAJjB,2GAAA,aAAa,OAAA;AACb,2GAAA,aAAa,OAAA;AACb,0GAAA,YAAY,OAAA;AACZ,+GAAA,iBAAiB,OAAA;AAGrB,qDAS6B;AARzB,4HAAA,4BAA4B,OAAA;AAC5B,mHAAA,mBAAmB,OAAA;AACnB,6HAAA,6BAA6B,OAAA;AAC7B,oHAAA,oBAAoB,OAAA;AACpB,mIAAA,mCAAmC,OAAA;AACnC,0HAAA,0BAA0B,OAAA;AAC1B,gIAAA,gCAAgC,OAAA;AAChC,uHAAA,uBAAuB,OAAA;AAG3B,+CAAuE;AAA9D,4GAAA,eAAe,OAAA;AAAE,+GAAA,kBAAkB,OAAA;AAO5C,yCAAwD;AAA/C,uHAAA,0BAA0B,OAAA;AAEnC,uDAA2D;AAAlD,oHAAA,mBAAmB,OAAA;AAiB5B,uCAImB;AAHf,oHAAA,wBAAwB,OAAA;AACxB,kHAAA,sBAAsB,OAAA;AACtB,mHAAA,uBAAuB,OAAA"} |
+13
-8
@@ -70,3 +70,2 @@ /** | ||
| jwksCacheTtl?: number; | ||
| strictAAuth?: boolean; | ||
| } | ||
@@ -114,2 +113,4 @@ export interface VerificationResult { | ||
| export interface HwkValue { | ||
| /** REQUIRED. A fully-specified JOSE algorithm identifier. */ | ||
| alg: string; | ||
| kty: string; | ||
@@ -133,17 +134,22 @@ crv?: string; | ||
| */ | ||
| export type SignatureErrorCode = 'unsupported_algorithm' | 'invalid_signature' | 'invalid_input' | 'invalid_request' | 'invalid_key' | 'unknown_key' | 'invalid_jwt' | 'expired_jwt'; | ||
| export type SignatureErrorCode = 'unsupported_algorithm' | 'unsupported_scheme' | 'invalid_signature' | 'invalid_input' | 'invalid_request' | 'invalid_key' | 'unknown_key' | 'invalid_jwt' | 'expired_jwt'; | ||
| /** | ||
| * Parsed Signature-Error header | ||
| * | ||
| * The supported_algorithms member was removed in -07; a server states what | ||
| * would have worked in Accept-Signature-Alg instead. | ||
| */ | ||
| export interface SignatureError { | ||
| error: SignatureErrorCode; | ||
| supported_algorithms?: string[]; | ||
| required_input?: string[]; | ||
| } | ||
| /** | ||
| * Accept-Signature sigkey parameter values | ||
| * Signature-Key schemes defined by the draft. Not all are implemented here. | ||
| */ | ||
| export type SigKeyValue = 'jkt' | 'uri' | 'x509'; | ||
| export type SignatureKeyScheme = 'hwk' | 'jwt' | 'jkt-jwt' | 'jwks_uri' | 'jwks' | 'self-jwt' | 'x509'; | ||
| /** | ||
| * Parsed Accept-Signature header parameters | ||
| * | ||
| * The sigkey parameter was removed in -07. Use the Accept-Signature-Scheme | ||
| * and Accept-Signature-Alg header fields. | ||
| */ | ||
@@ -153,3 +159,2 @@ export interface AcceptSignatureParams { | ||
| components: string[]; | ||
| sigkey?: SigKeyValue; | ||
| alg?: string; | ||
@@ -159,5 +164,5 @@ tag?: string; | ||
| /** | ||
| * Supported signature algorithms | ||
| * Fully-specified JOSE algorithm identifiers this implementation supports. | ||
| */ | ||
| export type SignatureAlgorithm = 'Ed25519' | 'ES256'; | ||
| export type SignatureAlgorithm = 'Ed25519' | 'Ed448' | 'ES256' | 'ES384' | 'ES512' | 'PS256' | 'PS384' | 'PS512' | 'RS256' | 'RS384' | 'RS512'; | ||
| /** | ||
@@ -164,0 +169,0 @@ * Algorithm parameters for signing |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Cryptographic utilities for HTTP Message Signatures | ||
| * | ||
| * Algorithm determination follows draft-hardt-httpbis-signature-key-07, | ||
| * Algorithm Determination: the signature algorithm is taken from the JWK `alg` | ||
| * member, which must be a fully-specified identifier (RFC 9864). It is never | ||
| * derived from `kty` and `crv` -- those underdetermine the algorithm for RSA | ||
| * keys, which have no curve and leave both padding and hash free, and for EC | ||
| * keys, whose curve does not fix the hash. | ||
| */ | ||
| import { AlgorithmParams } from '../types.js'; | ||
| interface AlgorithmSpec { | ||
| /** The key type this algorithm requires. */ | ||
| kty: string; | ||
| /** The curve this algorithm requires, where the key type has one. */ | ||
| crv?: string; | ||
| /** | ||
| * WebCrypto parameters. The same object is passed to importKey and to | ||
| * sign/verify; each ignores the members it does not use. | ||
| */ | ||
| params: AlgorithmParams; | ||
| } | ||
| /** | ||
| * Get algorithm parameters from JWK | ||
| * Fully-specified JOSE algorithm identifiers this implementation supports. | ||
| * | ||
| * Note ES512 uses P-521, not a "P-512" curve. | ||
| */ | ||
| export declare const FULLY_SPECIFIED_ALGORITHMS: Readonly<Record<string, AlgorithmSpec>>; | ||
| /** | ||
| * Identifiers that name a different signature algorithm depending on the key | ||
| * they are used with. Deprecated by RFC 9864 and forbidden by the draft. | ||
| */ | ||
| export declare const POLYMORPHIC_ALGORITHMS: ReadonlySet<string>; | ||
| /** | ||
| * Shared-secret algorithms. Every scheme here distributes a public key, and a | ||
| * secret handed to the verifier proves nothing, so these are rejected rather | ||
| * than merely unimplemented. | ||
| */ | ||
| export declare const SYMMETRIC_ALGORITHMS: ReadonlySet<string>; | ||
| /** | ||
| * Fully-specified identifiers that are valid but that WebCrypto cannot | ||
| * implement, so they are declined rather than rejected as malformed. | ||
| */ | ||
| export declare const UNIMPLEMENTED_ALGORITHMS: ReadonlySet<string>; | ||
| /** | ||
| * Determine the signature algorithm for a JWK, validating it in the process. | ||
| * | ||
| * Throws a SignatureVerificationError carrying the Signature-Error code the | ||
| * verifier should report. | ||
| */ | ||
| export declare function determineAlgorithm(jwk: JsonWebKey): AlgorithmParams; | ||
| /** | ||
| * Get algorithm parameters from a JWK. | ||
| */ | ||
| export declare function getAlgorithmFromJwk(jwk: JsonWebKey): AlgorithmParams; | ||
| /** | ||
| * Validate a JWK, including that its algorithm is fully specified and | ||
| * consistent with its key material. | ||
| */ | ||
| export declare function validateJwk(jwk: JsonWebKey): void; | ||
| /** | ||
| * Import a JWK as a CryptoKey for signing | ||
@@ -30,6 +82,10 @@ */ | ||
| /** | ||
| * Algorithms generateKeyPair can produce. | ||
| */ | ||
| export type GeneratableAlgorithm = 'Ed25519' | 'ES256' | 'ES384' | 'ES512'; | ||
| /** | ||
| * Options for key pair generation | ||
| */ | ||
| export interface GenerateKeyPairOptions { | ||
| algorithm?: 'Ed25519' | 'ES256'; | ||
| algorithm?: GeneratableAlgorithm; | ||
| extractable?: boolean; | ||
@@ -45,9 +101,9 @@ } | ||
| /** | ||
| * Generate a signing key pair | ||
| * Generate a signing key pair. | ||
| * | ||
| * The exported public JWK carries `alg`, which WebCrypto does not set. Without | ||
| * it the key cannot be conveyed by the hwk scheme. | ||
| */ | ||
| export declare function generateKeyPair(options?: GenerateKeyPairOptions): Promise<KeyPair>; | ||
| /** | ||
| * Validate JWK structure | ||
| */ | ||
| export declare function validateJwk(jwk: JsonWebKey): void; | ||
| export {}; | ||
| //# sourceMappingURL=crypto.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAgBpE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAI1E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAI/D;AAED;;GAEG;AACH,wBAAsB,IAAI,CACtB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;GAEG;AACH,wBAAsB,MAAM,CACxB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,UAAU,CAAA;CACxB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,OAAO,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,OAAO,CAAC,CA+BlB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAejD"} | ||
| {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,UAAU,aAAa;IACnB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAA;CAC1B;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAC7C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAmDhC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAAsB,CAAA;AAE7E;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAKnD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAA;AASF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CA4EnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,eAAe,CAEpE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAI1E;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAMzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAI/D;AAED;;GAEG;AACH,wBAAsB,IAAI,CACtB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;GAEG;AACH,wBAAsB,MAAM,CACxB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,eAAe,GAC3B,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IAChC,WAAW,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,UAAU,EAAE,SAAS,CAAA;IACrB,SAAS,EAAE,UAAU,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACjC,OAAO,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,OAAO,CAAC,CA+BlB"} |
+174
-51
| "use strict"; | ||
| /** | ||
| * Cryptographic utilities for HTTP Message Signatures | ||
| * | ||
| * Algorithm determination follows draft-hardt-httpbis-signature-key-07, | ||
| * Algorithm Determination: the signature algorithm is taken from the JWK `alg` | ||
| * member, which must be a fully-specified identifier (RFC 9864). It is never | ||
| * derived from `kty` and `crv` -- those underdetermine the algorithm for RSA | ||
| * keys, which have no curve and leave both padding and hash free, and for EC | ||
| * keys, whose curve does not fix the hash. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.UNIMPLEMENTED_ALGORITHMS = exports.SYMMETRIC_ALGORITHMS = exports.POLYMORPHIC_ALGORITHMS = exports.FULLY_SPECIFIED_ALGORITHMS = void 0; | ||
| exports.determineAlgorithm = determineAlgorithm; | ||
| exports.getAlgorithmFromJwk = getAlgorithmFromJwk; | ||
| exports.validateJwk = validateJwk; | ||
| exports.importPrivateKey = importPrivateKey; | ||
@@ -13,26 +23,161 @@ exports.importPublicKey = importPublicKey; | ||
| exports.generateKeyPair = generateKeyPair; | ||
| exports.validateJwk = validateJwk; | ||
| const errors_js_1 = require("../errors.js"); | ||
| /** | ||
| * Get algorithm parameters from JWK | ||
| * Fully-specified JOSE algorithm identifiers this implementation supports. | ||
| * | ||
| * Note ES512 uses P-521, not a "P-512" curve. | ||
| */ | ||
| function getAlgorithmFromJwk(jwk) { | ||
| if (jwk.kty === 'OKP') { | ||
| if (jwk.crv === 'Ed25519') { | ||
| return { name: 'Ed25519' }; | ||
| } | ||
| throw new Error(`Unsupported OKP curve: ${jwk.crv}`); | ||
| exports.FULLY_SPECIFIED_ALGORITHMS = { | ||
| Ed25519: { | ||
| kty: 'OKP', | ||
| crv: 'Ed25519', | ||
| params: { name: 'Ed25519' }, | ||
| }, | ||
| Ed448: { | ||
| kty: 'OKP', | ||
| crv: 'Ed448', | ||
| params: { name: 'Ed448' }, | ||
| }, | ||
| ES256: { | ||
| kty: 'EC', | ||
| crv: 'P-256', | ||
| params: { name: 'ECDSA', namedCurve: 'P-256', hash: 'SHA-256' }, | ||
| }, | ||
| ES384: { | ||
| kty: 'EC', | ||
| crv: 'P-384', | ||
| params: { name: 'ECDSA', namedCurve: 'P-384', hash: 'SHA-384' }, | ||
| }, | ||
| ES512: { | ||
| kty: 'EC', | ||
| crv: 'P-521', | ||
| params: { name: 'ECDSA', namedCurve: 'P-521', hash: 'SHA-512' }, | ||
| }, | ||
| PS256: { | ||
| kty: 'RSA', | ||
| params: { name: 'RSA-PSS', hash: 'SHA-256', saltLength: 32 }, | ||
| }, | ||
| PS384: { | ||
| kty: 'RSA', | ||
| params: { name: 'RSA-PSS', hash: 'SHA-384', saltLength: 48 }, | ||
| }, | ||
| PS512: { | ||
| kty: 'RSA', | ||
| params: { name: 'RSA-PSS', hash: 'SHA-512', saltLength: 64 }, | ||
| }, | ||
| RS256: { | ||
| kty: 'RSA', | ||
| params: { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, | ||
| }, | ||
| RS384: { | ||
| kty: 'RSA', | ||
| params: { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-384' }, | ||
| }, | ||
| RS512: { | ||
| kty: 'RSA', | ||
| params: { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-512' }, | ||
| }, | ||
| }; | ||
| /** | ||
| * Identifiers that name a different signature algorithm depending on the key | ||
| * they are used with. Deprecated by RFC 9864 and forbidden by the draft. | ||
| */ | ||
| exports.POLYMORPHIC_ALGORITHMS = new Set(['EdDSA']); | ||
| /** | ||
| * Shared-secret algorithms. Every scheme here distributes a public key, and a | ||
| * secret handed to the verifier proves nothing, so these are rejected rather | ||
| * than merely unimplemented. | ||
| */ | ||
| exports.SYMMETRIC_ALGORITHMS = new Set([ | ||
| 'HS256', | ||
| 'HS384', | ||
| 'HS512', | ||
| 'hmac-sha256', | ||
| ]); | ||
| /** | ||
| * Fully-specified identifiers that are valid but that WebCrypto cannot | ||
| * implement, so they are declined rather than rejected as malformed. | ||
| */ | ||
| exports.UNIMPLEMENTED_ALGORITHMS = new Set([ | ||
| 'ML-DSA-44', | ||
| 'ML-DSA-65', | ||
| 'ML-DSA-87', | ||
| ]); | ||
| /** Key members each key type requires. */ | ||
| const REQUIRED_MEMBERS = { | ||
| OKP: ['crv', 'x'], | ||
| EC: ['crv', 'x', 'y'], | ||
| RSA: ['n', 'e'], | ||
| }; | ||
| /** | ||
| * Determine the signature algorithm for a JWK, validating it in the process. | ||
| * | ||
| * Throws a SignatureVerificationError carrying the Signature-Error code the | ||
| * verifier should report. | ||
| */ | ||
| function determineAlgorithm(jwk) { | ||
| if (!jwk || typeof jwk !== 'object') { | ||
| throw (0, errors_js_1.invalidKey)('JWK is not an object'); | ||
| } | ||
| if (jwk.kty === 'EC') { | ||
| if (jwk.crv === 'P-256') { | ||
| return { name: 'ECDSA', namedCurve: 'P-256', hash: 'SHA-256' }; | ||
| if (!jwk.kty) { | ||
| throw (0, errors_js_1.invalidKey)('JWK missing required member: kty'); | ||
| } | ||
| // A shared secret cannot prove possession to a verifier that holds it. | ||
| if (jwk.kty === 'oct') { | ||
| throw (0, errors_js_1.invalidKey)('Symmetric keys are not permitted: kty "oct" names a shared secret'); | ||
| } | ||
| const alg = jwk.alg; | ||
| if (!alg) { | ||
| throw (0, errors_js_1.invalidKey)('JWK missing required member: alg. The algorithm is taken from the key and is not derived from kty and crv'); | ||
| } | ||
| if (exports.SYMMETRIC_ALGORITHMS.has(alg)) { | ||
| throw (0, errors_js_1.invalidKey)(`Symmetric algorithms are not permitted: "${alg}" names a shared secret`); | ||
| } | ||
| if (exports.POLYMORPHIC_ALGORITHMS.has(alg)) { | ||
| throw (0, errors_js_1.invalidKey)(`Polymorphic algorithm identifier "${alg}" is not permitted. Use a fully-specified identifier such as Ed25519 or Ed448 (RFC 9864)`); | ||
| } | ||
| // AKP covers several ML-DSA parameter sets, so the key type alone does not | ||
| // name an algorithm. Declining is a capability statement, not a parse | ||
| // failure, so it reports unsupported_algorithm. | ||
| if (jwk.kty === 'AKP' || exports.UNIMPLEMENTED_ALGORITHMS.has(alg)) { | ||
| throw (0, errors_js_1.unsupportedAlgorithm)(`Algorithm "${alg}" (kty "${jwk.kty}") is not implemented by this verifier`); | ||
| } | ||
| const spec = exports.FULLY_SPECIFIED_ALGORITHMS[alg]; | ||
| if (!spec) { | ||
| throw (0, errors_js_1.unsupportedAlgorithm)(`Unsupported or not fully-specified algorithm: "${alg}"`); | ||
| } | ||
| // The key-structure members are redundant with a fully-specified alg. Use | ||
| // the redundancy as a check: a key that can be read two ways is rejected | ||
| // rather than resolved in favour of either reading. | ||
| if (jwk.kty !== spec.kty) { | ||
| throw (0, errors_js_1.invalidKey)(`JWK kty "${jwk.kty}" is inconsistent with alg "${alg}", which requires kty "${spec.kty}"`); | ||
| } | ||
| if (spec.crv && jwk.crv !== spec.crv) { | ||
| throw (0, errors_js_1.invalidKey)(`JWK crv "${jwk.crv}" is inconsistent with alg "${alg}", which requires crv "${spec.crv}"`); | ||
| } | ||
| for (const member of REQUIRED_MEMBERS[spec.kty] ?? []) { | ||
| if (!jwk[member]) { | ||
| throw (0, errors_js_1.invalidKey)(`${spec.kty} JWK missing required member: ${member}`); | ||
| } | ||
| throw new Error(`Unsupported EC curve: ${jwk.crv}`); | ||
| } | ||
| throw new Error(`Unsupported key type: ${jwk.kty}`); | ||
| return spec.params; | ||
| } | ||
| /** | ||
| * Get algorithm parameters from a JWK. | ||
| */ | ||
| function getAlgorithmFromJwk(jwk) { | ||
| return determineAlgorithm(jwk); | ||
| } | ||
| /** | ||
| * Validate a JWK, including that its algorithm is fully specified and | ||
| * consistent with its key material. | ||
| */ | ||
| function validateJwk(jwk) { | ||
| determineAlgorithm(jwk); | ||
| } | ||
| /** | ||
| * Import a JWK as a CryptoKey for signing | ||
| */ | ||
| async function importPrivateKey(jwk) { | ||
| const algorithm = getAlgorithmFromJwk(jwk); | ||
| const algorithm = determineAlgorithm(jwk); | ||
| return await crypto.subtle.importKey('jwk', jwk, algorithm, false, ['sign']); | ||
@@ -44,3 +189,3 @@ } | ||
| async function importPublicKey(jwk) { | ||
| const algorithm = getAlgorithmFromJwk(jwk); | ||
| const algorithm = determineAlgorithm(jwk); | ||
| return await crypto.subtle.importKey('jwk', jwk, algorithm, false, [ | ||
@@ -72,3 +217,6 @@ 'verify', | ||
| /** | ||
| * Generate a signing key pair | ||
| * Generate a signing key pair. | ||
| * | ||
| * The exported public JWK carries `alg`, which WebCrypto does not set. Without | ||
| * it the key cannot be conveyed by the hwk scheme. | ||
| */ | ||
@@ -78,16 +226,16 @@ async function generateKeyPair(options) { | ||
| const extractable = options?.extractable ?? true; | ||
| let genAlgorithm; | ||
| let keyUsages = ['sign', 'verify']; | ||
| if (algorithm === 'Ed25519') { | ||
| genAlgorithm = { name: 'Ed25519' }; | ||
| } | ||
| else if (algorithm === 'ES256') { | ||
| genAlgorithm = { name: 'ECDSA', namedCurve: 'P-256' }; | ||
| } | ||
| else { | ||
| const spec = exports.FULLY_SPECIFIED_ALGORITHMS[algorithm]; | ||
| if (!spec) { | ||
| throw new Error(`Unsupported algorithm: ${algorithm}`); | ||
| } | ||
| const keyPair = (await crypto.subtle.generateKey(genAlgorithm, extractable, keyUsages)); | ||
| const genAlgorithm = spec.crv | ||
| ? spec.params.name === 'ECDSA' | ||
| ? { name: 'ECDSA', namedCurve: spec.crv } | ||
| : { name: spec.params.name } | ||
| : { name: spec.params.name }; | ||
| const keyPair = (await crypto.subtle.generateKey(genAlgorithm, extractable, ['sign', 'verify'])); | ||
| // Public key is always exportable | ||
| const publicKey = await crypto.subtle.exportKey('jwk', keyPair.publicKey); | ||
| // WebCrypto omits alg; the draft requires it. | ||
| publicKey.alg = algorithm; | ||
| return { | ||
@@ -98,27 +246,2 @@ privateKey: keyPair.privateKey, | ||
| } | ||
| /** | ||
| * Validate JWK structure | ||
| */ | ||
| function validateJwk(jwk) { | ||
| if (!jwk.kty) { | ||
| throw new Error('JWK missing required field: kty'); | ||
| } | ||
| if (jwk.kty === 'OKP') { | ||
| if (!jwk.crv) | ||
| throw new Error('OKP JWK missing required field: crv'); | ||
| if (!jwk.x) | ||
| throw new Error('OKP JWK missing required field: x'); | ||
| } | ||
| else if (jwk.kty === 'EC') { | ||
| if (!jwk.crv) | ||
| throw new Error('EC JWK missing required field: crv'); | ||
| if (!jwk.x) | ||
| throw new Error('EC JWK missing required field: x'); | ||
| if (!jwk.y) | ||
| throw new Error('EC JWK missing required field: y'); | ||
| } | ||
| else { | ||
| throw new Error(`Unsupported key type: ${jwk.kty}`); | ||
| } | ||
| } | ||
| //# sourceMappingURL=crypto.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAqHH,gDA4EC;AAKD,kDAEC;AAMD,kCAEC;AAKD,4CAIC;AAKD,0CAMC;AAKD,oCAIC;AAKD,oBAQC;AAKD,wBAOC;AA6BD,0CAiCC;AAjUD,4CAA+D;AAc/D;;;;GAIG;AACU,QAAA,0BAA0B,GAEnC;IACA,OAAO,EAAE;QACL,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAC9B;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KAC5B;IACD,KAAK,EAAE;QACH,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KAClE;IACD,KAAK,EAAE;QACH,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KAClE;IACD,KAAK,EAAE;QACH,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KAClE;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;KAC/D;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;KAC/D;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;KAC/D;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;KACzD;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;KACzD;IACD,KAAK,EAAE;QACH,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;KACzD;CACJ,CAAA;AAED;;;GAGG;AACU,QAAA,sBAAsB,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAE7E;;;;GAIG;AACU,QAAA,oBAAoB,GAAwB,IAAI,GAAG,CAAC;IAC7D,OAAO;IACP,OAAO;IACP,OAAO;IACP,aAAa;CAChB,CAAC,CAAA;AAEF;;;GAGG;AACU,QAAA,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACjE,WAAW;IACX,WAAW;IACX,WAAW;CACd,CAAC,CAAA;AAEF,0CAA0C;AAC1C,MAAM,gBAAgB,GAA6B;IAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;IACjB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;CAClB,CAAA;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,GAAe;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAA,sBAAU,EAAC,sBAAsB,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,IAAA,sBAAU,EAAC,kCAAkC,CAAC,CAAA;IACxD,CAAC;IAED,uEAAuE;IACvE,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QACpB,MAAM,IAAA,sBAAU,EACZ,mEAAmE,CACtE,CAAA;IACL,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IAEnB,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAA,sBAAU,EACZ,2GAA2G,CAC9G,CAAA;IACL,CAAC;IAED,IAAI,4BAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAA,sBAAU,EACZ,4CAA4C,GAAG,yBAAyB,CAC3E,CAAA;IACL,CAAC;IAED,IAAI,8BAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAA,sBAAU,EACZ,qCAAqC,GAAG,0FAA0F,CACrI,CAAA;IACL,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,gDAAgD;IAChD,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,IAAI,gCAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACzD,MAAM,IAAA,gCAAoB,EACtB,cAAc,GAAG,WAAW,GAAG,CAAC,GAAG,wCAAwC,CAC9E,CAAA;IACL,CAAC;IAED,MAAM,IAAI,GAAG,kCAA0B,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAA,gCAAoB,EACtB,kDAAkD,GAAG,GAAG,CAC3D,CAAA;IACL,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,oDAAoD;IACpD,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAA,sBAAU,EACZ,YAAY,GAAG,CAAC,GAAG,+BAA+B,GAAG,0BAA0B,IAAI,CAAC,GAAG,GAAG,CAC7F,CAAA;IACL,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,IAAA,sBAAU,EACZ,YAAY,GAAG,CAAC,GAAG,+BAA+B,GAAG,0BAA0B,IAAI,CAAC,GAAG,GAAG,CAC7F,CAAA;IACL,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,CAAE,GAA+B,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAA,sBAAU,EACZ,GAAG,IAAI,CAAC,GAAG,iCAAiC,MAAM,EAAE,CACvD,CAAA;QACL,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,GAAe;IAC/C,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,GAAe;IACvC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,GAAe;IAClD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEzC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAChF,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,eAAe,CAAC,GAAe;IACjD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEzC,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE;QAC/D,QAAQ;KACX,CAAC,CAAA;AACN,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,UAAsB;IAC/C,6DAA6D;IAC7D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,UAAU,CAAA;IACxD,OAAO,SAAS,CAAA;AACpB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,IAAI,CACtB,IAAgB,EAChB,UAAqB,EACrB,SAA0B;IAE1B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IAEvE,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;AACpC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,MAAM,CACxB,IAAgB,EAChB,SAAqB,EACrB,SAAoB,EACpB,SAA0B;IAE1B,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;AAC5E,CAAC;AAuBD;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CACjC,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,SAAS,CAAA;IACjD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAA;IAEhD,MAAM,IAAI,GAAG,kCAA0B,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,YAAY,GAAyC,IAAI,CAAC,GAAG;QAC/D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;YACzC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAChC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAC5C,YAAY,EACZ,WAAW,EACX,CAAC,MAAM,EAAE,QAAQ,CAAC,CACrB,CAAkB,CAAA;IAEnB,kCAAkC;IAClC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAEzE,8CAA8C;IAC9C,SAAS,CAAC,GAAG,GAAG,SAAS,CAAA;IAEzB,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS;KACZ,CAAA;AACL,CAAC"} |
@@ -11,2 +11,9 @@ /** | ||
| * Generate Signature-Input header value | ||
| * | ||
| * The `alg` signature parameter is deliberately never emitted. The algorithm | ||
| * is signaled by the key, per the JOSE path of RFC 9421 Section 3.3.7, which | ||
| * states that "the explicit alg signature parameter is not used at all when | ||
| * using JOSE signing algorithms". Emitting it would create a second source of | ||
| * truth in a namespace that does not correspond to the JWK `alg` anyway -- | ||
| * JWA values are not registered in the HTTP Signature Algorithms registry. | ||
| */ | ||
@@ -49,3 +56,7 @@ export declare function generateSignatureInputHeader(label: string, components: string[], created: number): string; | ||
| * Generate Signature-Error header value as RFC 8941 Dictionary | ||
| * Format: error=<code>[, supported_algorithms=("alg1" "alg2")][, required_input=("comp1" "comp2")] | ||
| * Format: error=<code>[, required_input=("comp1" "comp2")] | ||
| * | ||
| * The supported_algorithms member was removed in -07. A server states what | ||
| * would have worked in the Accept-Signature-Alg and Accept-Signature-Scheme | ||
| * header fields, which work on a challenge and on an error alike. | ||
| */ | ||
@@ -58,4 +69,32 @@ export declare function generateSignatureErrorHeader(signatureError: SignatureError): string; | ||
| /** | ||
| * Generate Accept-Signature-Scheme: the Signature-Key schemes the server | ||
| * accepts, in descending order of preference. | ||
| * | ||
| * Format: scheme1, scheme2 | ||
| */ | ||
| export declare function generateAcceptSignatureSchemeHeader(schemes: string[]): string; | ||
| /** | ||
| * Parse Accept-Signature-Scheme. Unrecognized tokens are preserved: a client | ||
| * ignores what it does not know so a server may list schemes registered after | ||
| * the client was written. | ||
| */ | ||
| export declare function parseAcceptSignatureScheme(header: string): string[]; | ||
| /** | ||
| * Generate Accept-Signature-Alg: the signature algorithms the server accepts, | ||
| * as fully-specified JOSE identifiers. | ||
| * | ||
| * Format: alg1, alg2 | ||
| */ | ||
| export declare function generateAcceptSignatureAlgHeader(algs: string[]): string; | ||
| /** | ||
| * Parse Accept-Signature-Alg. | ||
| */ | ||
| export declare function parseAcceptSignatureAlg(header: string): string[]; | ||
| /** | ||
| * Generate Accept-Signature header value | ||
| * Format: label=("comp1" "comp2");sigkey=jkt[;alg="algo"][;tag="tag"] | ||
| * Format: label=("comp1" "comp2")[;alg="algo"][;tag="tag"] | ||
| * | ||
| * The sigkey parameter was removed in -07. A parameter value is a bare Item | ||
| * and cannot be a list, so sigkey could name only one scheme. Use | ||
| * Accept-Signature-Scheme and Accept-Signature-Alg instead. | ||
| */ | ||
@@ -65,3 +104,3 @@ export declare function generateAcceptSignatureHeader(params: AcceptSignatureParams): string; | ||
| * Parse Accept-Signature header | ||
| * Format: label=("comp1" "comp2");sigkey=jkt[;alg="algo"][;tag="tag"] | ||
| * Format: label=("comp1" "comp2")[;alg="algo"][;tag="tag"] | ||
| */ | ||
@@ -68,0 +107,0 @@ export declare function parseAcceptSignature(header: string): AcceptSignatureParams; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EAEd,qBAAqB,EAExB,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAAE,EACpB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,GAChB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE,UAAU,GACvB,MAAM,CA8CR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU,GACtB,MAAM,CAGR;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA+C1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA2HtE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CACxC,cAAc,EAAE,cAAc,GAC/B,MAAM,CAkBR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CA6ClE;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CACzC,MAAM,EAAE,qBAAqB,GAC9B,MAAM,CAgBR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CA4C1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAuBtE"} | ||
| {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EAEd,qBAAqB,EACxB,MAAM,aAAa,CAAA;AAGpB;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAAE,EACpB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAYR;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CACxC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,MAAM,GAChB,MAAM,CAGR;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE,UAAU,GACvB,MAAM,CA0DR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,UAAU,GACtB,MAAM,CAGR;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA+C1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAiItE;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CACxC,cAAc,EAAE,cAAc,GAC/B,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAqClE;AA0BD;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CACzC,MAAM,EAAE,qBAAqB,GAC9B,MAAM,CAaR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAmC1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAuBtE"} |
+102
-43
@@ -15,2 +15,6 @@ "use strict"; | ||
| exports.parseSignatureError = parseSignatureError; | ||
| exports.generateAcceptSignatureSchemeHeader = generateAcceptSignatureSchemeHeader; | ||
| exports.parseAcceptSignatureScheme = parseAcceptSignatureScheme; | ||
| exports.generateAcceptSignatureAlgHeader = generateAcceptSignatureAlgHeader; | ||
| exports.parseAcceptSignatureAlg = parseAcceptSignatureAlg; | ||
| exports.generateAcceptSignatureHeader = generateAcceptSignatureHeader; | ||
@@ -20,2 +24,3 @@ exports.parseAcceptSignature = parseAcceptSignature; | ||
| const base64_js_1 = require("./base64.js"); | ||
| const errors_js_1 = require("../errors.js"); | ||
| /** | ||
@@ -37,2 +42,9 @@ * Generate signature base string from components | ||
| * Generate Signature-Input header value | ||
| * | ||
| * The `alg` signature parameter is deliberately never emitted. The algorithm | ||
| * is signaled by the key, per the JOSE path of RFC 9421 Section 3.3.7, which | ||
| * states that "the explicit alg signature parameter is not used at all when | ||
| * using JOSE signing algorithms". Emitting it would create a second source of | ||
| * truth in a namespace that does not correspond to the JWK `alg` anyway -- | ||
| * JWA values are not registered in the HTTP Signature Algorithms registry. | ||
| */ | ||
@@ -55,4 +67,13 @@ function generateSignatureInputHeader(label, components, created) { | ||
| } | ||
| // Build hwk parameters from JWK | ||
| const params = [`kty="${publicJwk.kty}"`]; | ||
| // alg is REQUIRED and carries the algorithm; the verifier does not | ||
| // derive it from kty and crv. | ||
| if (!publicJwk.alg) { | ||
| throw new Error('Public JWK missing required alg member for hwk signature key type'); | ||
| } | ||
| // Build hwk parameters from JWK. kid is deliberately not emitted: the | ||
| // key is inline, so an identifier selects nothing. | ||
| const params = [ | ||
| `alg="${publicJwk.alg}"`, | ||
| `kty="${publicJwk.kty}"`, | ||
| ]; | ||
| if (publicJwk.crv) | ||
@@ -211,4 +232,4 @@ params.push(`crv="${publicJwk.crv}"`); | ||
| } | ||
| if (!['hwk', 'jwt', 'jkt-jwt', 'jwks_uri', 'x509'].includes(scheme)) { | ||
| throw new Error(`Unsupported Signature-Key scheme: ${scheme}`); | ||
| if (!['hwk', 'jwt', 'jkt-jwt', 'jwks_uri'].includes(scheme)) { | ||
| throw (0, errors_js_1.unsupportedScheme)(`Unsupported Signature-Key scheme: ${scheme}`); | ||
| } | ||
@@ -218,4 +239,12 @@ if (scheme === 'hwk') { | ||
| if (!params.kty) { | ||
| throw new Error('Signature-Key hwk scheme missing kty parameter'); | ||
| throw (0, errors_js_1.invalidKey)('Signature-Key hwk scheme missing kty parameter'); | ||
| } | ||
| if (!params.alg) { | ||
| throw (0, errors_js_1.invalidKey)('Signature-Key hwk scheme missing alg parameter'); | ||
| } | ||
| // The key is inline, so a kid selects nothing and one that disagrees | ||
| // with the inline key has no defined resolution. | ||
| if (params.kid !== undefined) { | ||
| throw (0, errors_js_1.invalidKey)('Signature-Key hwk scheme MUST NOT include a kid parameter'); | ||
| } | ||
| return [{ label, type: 'hwk', value: params }]; | ||
@@ -266,24 +295,16 @@ } | ||
| } | ||
| // Note: x509 scheme not yet implemented | ||
| // Future implementation would parse: x509;x5u="...";x5t="..." | ||
| // if (scheme === 'x509') { | ||
| // if (!params.x5u || !params.x5t) { | ||
| // throw new Error('Signature-Key x509 scheme missing x5u/x5t parameters') | ||
| // } | ||
| // return [{ label, type: 'x509', value: { x5u: params.x5u, x5t: params.x5t } }] | ||
| // } | ||
| throw new Error(`Unsupported Signature-Key scheme: ${scheme}`); | ||
| // Note: the x509, jwks, and self-jwt schemes are not yet implemented. | ||
| // Unknown and unimplemented schemes take the same defined path. | ||
| throw (0, errors_js_1.unsupportedScheme)(`Unsupported Signature-Key scheme: ${scheme}`); | ||
| } | ||
| /** | ||
| * Generate Signature-Error header value as RFC 8941 Dictionary | ||
| * Format: error=<code>[, supported_algorithms=("alg1" "alg2")][, required_input=("comp1" "comp2")] | ||
| * Format: error=<code>[, required_input=("comp1" "comp2")] | ||
| * | ||
| * The supported_algorithms member was removed in -07. A server states what | ||
| * would have worked in the Accept-Signature-Alg and Accept-Signature-Scheme | ||
| * header fields, which work on a challenge and on an error alike. | ||
| */ | ||
| function generateSignatureErrorHeader(signatureError) { | ||
| const parts = [`error=${signatureError.error}`]; | ||
| if (signatureError.supported_algorithms) { | ||
| const algList = signatureError.supported_algorithms | ||
| .map((a) => `"${a}"`) | ||
| .join(' '); | ||
| parts.push(`supported_algorithms=(${algList})`); | ||
| } | ||
| if (signatureError.required_input) { | ||
@@ -310,2 +331,3 @@ const inputList = signatureError.required_input | ||
| 'unsupported_algorithm', | ||
| 'unsupported_scheme', | ||
| 'invalid_signature', | ||
@@ -323,10 +345,2 @@ 'invalid_input', | ||
| const result = { error }; | ||
| // Parse supported_algorithms inner list | ||
| const algMatch = trimmed.match(/supported_algorithms=\(([^)]*)\)/); | ||
| if (algMatch) { | ||
| result.supported_algorithms = algMatch[1] | ||
| .split(/\s+/) | ||
| .map((a) => a.replace(/"/g, '')) | ||
| .filter((a) => a); | ||
| } | ||
| // Parse required_input inner list | ||
@@ -343,12 +357,65 @@ const inputMatch = trimmed.match(/required_input=\(([^)]*)\)/); | ||
| /** | ||
| * Generate an RFC 8941 List of Tokens. | ||
| */ | ||
| function generateTokenList(values) { | ||
| for (const value of values) { | ||
| if (!/^[A-Za-z*][A-Za-z0-9!#$%&'*+\-.^_`|~:/]*$/.test(value)) { | ||
| throw new Error(`Value is not a valid Structured Field Token: ${value}`); | ||
| } | ||
| } | ||
| return values.join(', '); | ||
| } | ||
| /** | ||
| * Parse an RFC 8941 List of Tokens, ignoring entries that are not tokens. | ||
| */ | ||
| function parseTokenList(header) { | ||
| return header | ||
| .split(',') | ||
| .map((v) => v.trim()) | ||
| .filter((v) => /^[A-Za-z*][A-Za-z0-9!#$%&'*+\-.^_`|~:/]*$/.test(v)); | ||
| } | ||
| /** | ||
| * Generate Accept-Signature-Scheme: the Signature-Key schemes the server | ||
| * accepts, in descending order of preference. | ||
| * | ||
| * Format: scheme1, scheme2 | ||
| */ | ||
| function generateAcceptSignatureSchemeHeader(schemes) { | ||
| return generateTokenList(schemes); | ||
| } | ||
| /** | ||
| * Parse Accept-Signature-Scheme. Unrecognized tokens are preserved: a client | ||
| * ignores what it does not know so a server may list schemes registered after | ||
| * the client was written. | ||
| */ | ||
| function parseAcceptSignatureScheme(header) { | ||
| return parseTokenList(header); | ||
| } | ||
| /** | ||
| * Generate Accept-Signature-Alg: the signature algorithms the server accepts, | ||
| * as fully-specified JOSE identifiers. | ||
| * | ||
| * Format: alg1, alg2 | ||
| */ | ||
| function generateAcceptSignatureAlgHeader(algs) { | ||
| return generateTokenList(algs); | ||
| } | ||
| /** | ||
| * Parse Accept-Signature-Alg. | ||
| */ | ||
| function parseAcceptSignatureAlg(header) { | ||
| return parseTokenList(header); | ||
| } | ||
| /** | ||
| * Generate Accept-Signature header value | ||
| * Format: label=("comp1" "comp2");sigkey=jkt[;alg="algo"][;tag="tag"] | ||
| * Format: label=("comp1" "comp2")[;alg="algo"][;tag="tag"] | ||
| * | ||
| * The sigkey parameter was removed in -07. A parameter value is a bare Item | ||
| * and cannot be a list, so sigkey could name only one scheme. Use | ||
| * Accept-Signature-Scheme and Accept-Signature-Alg instead. | ||
| */ | ||
| function generateAcceptSignatureHeader(params) { | ||
| const { label = 'sig', components, sigkey, alg, tag } = params; | ||
| const { label = 'sig', components, alg, tag } = params; | ||
| const componentList = components.map((c) => `"${c}"`).join(' '); | ||
| let header = `${label}=(${componentList})`; | ||
| if (sigkey) { | ||
| header += `;sigkey=${sigkey}`; | ||
| } | ||
| if (alg) { | ||
@@ -364,3 +431,3 @@ header += `;alg="${alg}"`; | ||
| * Parse Accept-Signature header | ||
| * Format: label=("comp1" "comp2");sigkey=jkt[;alg="algo"][;tag="tag"] | ||
| * Format: label=("comp1" "comp2")[;alg="algo"][;tag="tag"] | ||
| */ | ||
@@ -383,10 +450,2 @@ function parseAcceptSignature(header) { | ||
| if (paramsStr) { | ||
| // Parse sigkey token parameter | ||
| const sigkeyMatch = paramsStr.match(/;sigkey=([\w]+)/); | ||
| if (sigkeyMatch) { | ||
| const value = sigkeyMatch[1]; | ||
| if (['jkt', 'uri', 'x509'].includes(value)) { | ||
| result.sigkey = value; | ||
| } | ||
| } | ||
| // Parse alg string parameter | ||
@@ -393,0 +452,0 @@ const algMatch = paramsStr.match(/;alg="([^"]*)"/); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,aAAa,EACb,aAAa,EACb,kBAAkB,EAErB,MAAM,YAAY,CAAA;AAuUnB;;GAEG;AACH,wBAAsB,MAAM,CACxB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAkR7B"} | ||
| {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,aAAa,EACb,aAAa,EACb,kBAAkB,EAErB,MAAM,YAAY,CAAA;AA+XnB;;GAEG;AACH,wBAAsB,MAAM,CACxB,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAmS7B"} |
+73
-13
@@ -45,2 +45,3 @@ "use strict"; | ||
| const cache_js_1 = require("./utils/cache.js"); | ||
| const errors_js_1 = require("./errors.js"); | ||
| // JWKS cache. Bounded: the cache key is a URL derived from the request being | ||
@@ -51,2 +52,18 @@ // verified, so an unauthenticated signer would otherwise be able to grow this | ||
| /** | ||
| * Map a thrown error to a structured SignatureError. | ||
| * | ||
| * A SignatureVerificationError carries its code explicitly. Anything else is | ||
| * matched on message text, which covers paths that still throw plain Errors. | ||
| */ | ||
| function toSignatureError(error) { | ||
| if (error instanceof errors_js_1.SignatureVerificationError) { | ||
| const result = { error: error.code }; | ||
| if (error.requiredInput) { | ||
| result.required_input = error.requiredInput; | ||
| } | ||
| return result; | ||
| } | ||
| return mapToSignatureError(error instanceof Error ? error.message : String(error)); | ||
| } | ||
| /** | ||
| * Map an error message from verification to a structured SignatureError | ||
@@ -164,15 +181,42 @@ */ | ||
| /** | ||
| * Decode JWT and extract cnf.jwk claim | ||
| * Decode a jwt-scheme assertion and extract its cnf.jwk confirmation key. | ||
| * | ||
| * The issuer's signature over the assertion is NOT checked here -- the caller | ||
| * validates the issuer -- but `exp` is, because `exp` is what bounds how long | ||
| * the confirmation key the assertion carries remains acceptable. An assertion | ||
| * without `exp` would leave that key acceptable indefinitely. | ||
| */ | ||
| function decodeJWT(jwt) { | ||
| function decodeJWT(jwt, maxClockSkew) { | ||
| const parts = jwt.split('.'); | ||
| if (parts.length !== 3) { | ||
| throw new Error('Invalid JWT format'); | ||
| throw (0, errors_js_1.invalidJwt)('Invalid JWT format'); | ||
| } | ||
| const header = JSON.parse(new TextDecoder().decode((0, base64_js_1.base64urlDecode)(parts[0]))); | ||
| const payload = JSON.parse(new TextDecoder().decode((0, base64_js_1.base64urlDecode)(parts[1]))); | ||
| let header; | ||
| let payload; | ||
| try { | ||
| header = JSON.parse(new TextDecoder().decode((0, base64_js_1.base64urlDecode)(parts[0]))); | ||
| payload = JSON.parse(new TextDecoder().decode((0, base64_js_1.base64urlDecode)(parts[1]))); | ||
| } | ||
| catch { | ||
| throw (0, errors_js_1.invalidJwt)('Invalid JWT: header or payload is not valid JSON'); | ||
| } | ||
| // Extract cnf.jwk | ||
| if (!payload.cnf || !payload.cnf.jwk) { | ||
| throw new Error('JWT missing cnf.jwk claim'); | ||
| throw (0, errors_js_1.invalidJwt)('JWT missing cnf.jwk claim'); | ||
| } | ||
| const now = Math.floor(Date.now() / 1000); | ||
| if (typeof payload.exp !== 'number') { | ||
| throw (0, errors_js_1.invalidJwt)('JWT missing required exp claim'); | ||
| } | ||
| if (payload.exp + maxClockSkew < now) { | ||
| throw (0, errors_js_1.expiredJwt)('JWT expired'); | ||
| } | ||
| if (payload.iat !== undefined) { | ||
| if (typeof payload.iat !== 'number') { | ||
| throw (0, errors_js_1.invalidJwt)('JWT iat claim is not a number'); | ||
| } | ||
| if (payload.iat - maxClockSkew > now) { | ||
| throw (0, errors_js_1.invalidJwt)('JWT iat is in the future'); | ||
| } | ||
| } | ||
| return { | ||
@@ -268,3 +312,2 @@ header, | ||
| const { maxClockSkew = 60, jwksCacheTtl = 3600000, // 1 hour | ||
| strictAAuth = true, // Enforce AAuth profile by default | ||
| } = options; | ||
@@ -295,5 +338,12 @@ try { | ||
| const { components, params } = signatureInput; | ||
| // Validate that signature-key is in covered components (AAuth profile requirement) | ||
| if (strictAAuth && !components.includes('signature-key')) { | ||
| throw new Error('AAuth profile violation: signature-key must be in covered components'); | ||
| // signature-key MUST be a covered component. If it is not, an attacker | ||
| // can substitute the scheme or the signer identity without | ||
| // invalidating the signature, so this is not optional. | ||
| if (!components.includes('signature-key')) { | ||
| throw (0, errors_js_1.invalidInput)('signature-key must be a covered component', [ | ||
| '@method', | ||
| '@authority', | ||
| '@path', | ||
| 'signature-key', | ||
| ]); | ||
| } | ||
@@ -316,3 +366,3 @@ // Validate timestamp | ||
| const jwtValue = signatureKey.value; | ||
| const { header, payload, publicKey } = decodeJWT(jwtValue.jwt); | ||
| const { header, payload, publicKey } = decodeJWT(jwtValue.jwt, maxClockSkew); | ||
| publicJwk = publicKey; | ||
@@ -407,3 +457,13 @@ jwtData = { | ||
| } | ||
| // Add @signature-params | ||
| // Add @signature-params. | ||
| // | ||
| // Every parameter the signer sent is reproduced verbatim, including an | ||
| // `alg` parameter if one is present. @signature-params is covered by | ||
| // the signature, so dropping a parameter here would change the | ||
| // signature base and fail verification. | ||
| // | ||
| // Reproducing `alg` is not the same as honouring it: the algorithm is | ||
| // taken from the key material only (see getAlgorithmFromJwk below), | ||
| // per RFC 9421 Section 3.3.7. A signer that declares a misleading | ||
| // `alg` does not change which operation the verifier performs. | ||
| const componentList = components.map((c) => `"${c}"`).join(' '); | ||
@@ -464,3 +524,3 @@ const paramPairs = Object.entries(params) | ||
| error: errorMessage, | ||
| signatureError: mapToSignatureError(errorMessage), | ||
| signatureError: toSignatureError(error), | ||
| }; | ||
@@ -467,0 +527,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@hellocoop/httpsig", | ||
| "version": "1.7.1", | ||
| "version": "2.0.0-alpha.0", | ||
| "description": "HTTP Message Signatures (RFC 9421) with Signature-Key header support", | ||
@@ -5,0 +5,0 @@ "repository": { |
+12
-0
@@ -9,2 +9,14 @@ # @hellocoop/httpsig | ||
| ### Draft version | ||
| | Package line | Implements | npm dist-tag | | ||
| | ------------ | -------------------------------------- | ------------ | | ||
| | `2.x` | `draft-hardt-httpbis-signature-key-07` | `alpha` | | ||
| | `1.x` | `draft-hardt-httpbis-signature-key-05` | `latest` | | ||
| The draft is not yet adopted and `-07` is not backward compatible with `-05`. | ||
| The `2.x` line tracks it and is published as a prerelease; `npm install | ||
| @hellocoop/httpsig` continues to give you `1.x` until `2.0.0` is released. See | ||
| [MIGRATING-2.0.md](./MIGRATING-2.0.md) for what changed. | ||
| **Key Features:** | ||
@@ -11,0 +23,0 @@ |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
185991
17.56%46
9.52%2672
19.29%796
1.53%1
Infinity%