@credo-ts/core 0.6.2-alpha-20251222120740 → 0.6.2-alpha-20260108172346
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/build/crypto/index.d.mts +1 -1
- package/build/crypto/index.mjs +1 -0
- package/build/crypto/webcrypto/index.d.mts +1 -1
- package/build/crypto/webcrypto/index.mjs +1 -0
- package/build/crypto/webcrypto/types.d.mts +16 -2
- package/build/crypto/webcrypto/types.d.mts.map +1 -1
- package/build/crypto/webcrypto/types.mjs +50 -1
- package/build/crypto/webcrypto/types.mjs.map +1 -1
- package/build/crypto/webcrypto/utils/keyAlgorithmConversion.mjs +1 -2
- package/build/crypto/webcrypto/utils/keyAlgorithmConversion.mjs.map +1 -1
- package/build/index.d.mts +5 -3
- package/build/index.d.mts.map +1 -1
- package/build/index.mjs +4 -1
- package/build/index.mjs.map +1 -1
- package/build/modules/dids/domain/keyDidDocument.mjs +2 -2
- package/build/modules/dids/domain/keyDidDocument.mjs.map +1 -1
- package/build/modules/dids/methods/jwk/DidJwk.mjs +1 -1
- package/build/modules/dids/methods/jwk/DidJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/PublicJwk.d.mts +9 -2
- package/build/modules/kms/jwk/PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/PublicJwk.mjs +19 -9
- package/build/modules/kms/jwk/PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/PublicJwk.d.mts +1 -1
- package/build/modules/kms/jwk/kty/PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/P256PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/P384PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/P521PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/okp/Ed25519PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.d.mts +2 -2
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/okp/X25519PublicJwk.mjs.map +1 -1
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.d.mts +3 -3
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.d.mts.map +1 -1
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.mjs +2 -2
- package/build/modules/kms/jwk/kty/rsa/RsaPublicJwk.mjs.map +1 -1
- package/build/modules/mdoc/MdocContext.mjs +1 -1
- package/build/modules/mdoc/MdocContext.mjs.map +1 -1
- package/build/modules/x509/CertificateSigningRequest.d.mts +58 -0
- package/build/modules/x509/CertificateSigningRequest.d.mts.map +1 -0
- package/build/modules/x509/CertificateSigningRequest.mjs +148 -0
- package/build/modules/x509/CertificateSigningRequest.mjs.map +1 -0
- package/build/modules/x509/X509Api.d.mts +4 -1
- package/build/modules/x509/X509Api.d.mts.map +1 -1
- package/build/modules/x509/X509Api.mjs +6 -0
- package/build/modules/x509/X509Api.mjs.map +1 -1
- package/build/modules/x509/X509Certificate.d.mts +4 -4
- package/build/modules/x509/X509Certificate.d.mts.map +1 -1
- package/build/modules/x509/X509Certificate.mjs +3 -3
- package/build/modules/x509/X509Certificate.mjs.map +1 -1
- package/build/modules/x509/X509Service.d.mts +8 -3
- package/build/modules/x509/X509Service.d.mts.map +1 -1
- package/build/modules/x509/X509Service.mjs +10 -2
- package/build/modules/x509/X509Service.mjs.map +1 -1
- package/build/modules/x509/X509ServiceOptions.d.mts +22 -1
- package/build/modules/x509/X509ServiceOptions.d.mts.map +1 -1
- package/build/modules/x509/index.d.mts +2 -1
- package/build/modules/x509/index.mjs +1 -0
- package/build/modules/x509/utils/nameConversion.mjs +1 -1
- package/build/modules/x509/utils/nameConversion.mjs.map +1 -1
- package/build/utils/IntegrityVerifier.d.mts +44 -0
- package/build/utils/IntegrityVerifier.d.mts.map +1 -0
- package/build/utils/index.d.mts +1 -0
- package/package.json +1 -1
|
@@ -77,11 +77,22 @@ var PublicJwk = class PublicJwk {
|
|
|
77
77
|
const { kid, ...jwk } = this.jwk.jwk;
|
|
78
78
|
return jwk;
|
|
79
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the signature algorithms supported for this jwk.
|
|
82
|
+
*
|
|
83
|
+
* If the jwk has an `alg` field defined it will only return that alg
|
|
84
|
+
* and otherwise return all known supported signature algorithm.
|
|
85
|
+
*/
|
|
80
86
|
get supportedSignatureAlgorithms() {
|
|
81
|
-
|
|
87
|
+
const supportedSignatureAlgorithms = this.jwk.supportedSignatureAlgorithms ?? [];
|
|
88
|
+
if (this.jwk.jwk.alg) {
|
|
89
|
+
if (!supportedSignatureAlgorithms.includes(this.jwk.jwk.alg)) throw new KeyManagementError(`${this.jwkTypeHumanDescription} defines alg '${this.jwk.jwk.alg}' but this alg is not supported.`);
|
|
90
|
+
return [this.jwk.jwk.alg];
|
|
91
|
+
}
|
|
92
|
+
return supportedSignatureAlgorithms;
|
|
82
93
|
}
|
|
83
|
-
get
|
|
84
|
-
return this.jwk.
|
|
94
|
+
get supportedEncryptionKeyAgreementAlgorithms() {
|
|
95
|
+
return this.jwk.supportedEncryptionKeyAgreementAlgorithms ?? [];
|
|
85
96
|
}
|
|
86
97
|
/**
|
|
87
98
|
* key type as defined in [JWA Specification](https://tools.ietf.org/html/rfc7518#section-6.1)
|
|
@@ -128,20 +139,19 @@ var PublicJwk = class PublicJwk {
|
|
|
128
139
|
});
|
|
129
140
|
}
|
|
130
141
|
/**
|
|
131
|
-
* Get the signature algorithm to use with this jwk. If the jwk has an `alg` field defined
|
|
142
|
+
* Get the first signature algorithm to use with this jwk. If the jwk has an `alg` field defined
|
|
132
143
|
* it will use that alg, and otherwise fall back to the first supported signature algorithm.
|
|
133
144
|
*
|
|
134
145
|
* If no algorithm is supported it will throw an error
|
|
135
146
|
*/
|
|
136
147
|
get signatureAlgorithm() {
|
|
137
|
-
if (this.jwk.jwk.alg) {
|
|
138
|
-
if (!this.supportedSignatureAlgorithms.includes(this.jwk.jwk.alg)) throw new KeyManagementError(`${getJwkHumanDescription(this.jwk.jwk)} defines alg '${this.jwk.jwk.alg}' but this alg is not supported.`);
|
|
139
|
-
return this.jwk.jwk.alg;
|
|
140
|
-
}
|
|
141
148
|
const alg = this.supportedSignatureAlgorithms[0];
|
|
142
|
-
if (!alg) throw new KeyManagementError(`${
|
|
149
|
+
if (!alg) throw new KeyManagementError(`${this.jwkTypeHumanDescription} has no supported signature algorithms`);
|
|
143
150
|
return alg;
|
|
144
151
|
}
|
|
152
|
+
assertSignatureAlgorithmSupported(alg) {
|
|
153
|
+
if (!this.supportedSignatureAlgorithms.includes(alg)) throw new KeyManagementError(`${this.jwkTypeHumanDescription} does not support signature alg '${alg}'.`);
|
|
154
|
+
}
|
|
145
155
|
static fromPublicKey(publicKey) {
|
|
146
156
|
let jwkInstance;
|
|
147
157
|
if (publicKey.kty === "RSA") jwkInstance = RsaPublicJwk.fromPublicKey(publicKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicJwk.mjs","names":["jwk: Jwk","jwkInstance: SupportedPublicJwk"],"sources":["../../../../src/modules/kms/jwk/PublicJwk.ts"],"sourcesContent":["import type { HashName } from '../../../crypto'\nimport { CredoError } from '../../../error'\nimport { MultiBaseEncoder, TypedArrayEncoder, VarintEncoder } from '../../../utils'\nimport type { Constructor } from '../../../utils/mixins'\nimport { zParseWithErrorHandling } from '../../../utils/zod'\nimport { KeyManagementError } from '../error/KeyManagementError'\nimport { legacyKeyIdFromPublicJwk } from '../legacy'\nimport { asymmetricPublicJwkMatches } from './equals'\nimport { getJwkHumanDescription } from './humanDescription'\nimport type { KnownJwaKeyAgreementAlgorithm, KnownJwaSignatureAlgorithm } from './jwa'\nimport { calculateJwkThumbprint } from './jwkThumbprint'\nimport { assertJwkAsymmetric, type KmsJwkPublicAsymmetric, publicJwkFromPrivateJwk, zKmsJwkPublic } from './knownJwk'\n\nimport {\n Ed25519PublicJwk,\n P256PublicJwk,\n P384PublicJwk,\n P521PublicJwk,\n RsaPublicJwk,\n Secp256k1PublicJwk,\n X25519PublicJwk,\n} from './kty'\n\nexport const SupportedPublicJwks = [\n Ed25519PublicJwk,\n P256PublicJwk,\n P384PublicJwk,\n P521PublicJwk,\n RsaPublicJwk,\n Secp256k1PublicJwk,\n X25519PublicJwk,\n]\nexport type SupportedPublicJwkClass = (typeof SupportedPublicJwks)[number]\nexport type SupportedPublicJwk =\n | Ed25519PublicJwk\n | P256PublicJwk\n | P384PublicJwk\n | P521PublicJwk\n | RsaPublicJwk\n | Secp256k1PublicJwk\n | X25519PublicJwk\n\ntype ExtractByJwk<T, K> = T extends { jwk: infer J } ? (K extends J ? T : never) : never\n\ntype ExtractByPublicKey<T, K> = T extends { publicKey: infer J } ? (K extends J ? T : never) : never\n\nexport class PublicJwk<Jwk extends SupportedPublicJwk = SupportedPublicJwk> {\n private constructor(private readonly jwk: Jwk) {}\n\n public static fromUnknown(jwkJson: unknown) {\n // We remove any private properties if they are present\n const publicJwk = publicJwkFromPrivateJwk(zParseWithErrorHandling(zKmsJwkPublic, jwkJson, 'jwk is not a valid jwk'))\n assertJwkAsymmetric(publicJwk)\n\n let jwkInstance: SupportedPublicJwk\n if (publicJwk.kty === 'RSA') {\n jwkInstance = new RsaPublicJwk(publicJwk)\n } else if (publicJwk.kty === 'EC') {\n if (publicJwk.crv === 'P-256') {\n jwkInstance = new P256PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'P-384') {\n jwkInstance = new P384PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'P-521') {\n jwkInstance = new P521PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'secp256k1') {\n jwkInstance = new Secp256k1PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else {\n throw new KeyManagementError(\n `Unsupported kty '${publicJwk.kty}' with crv '${publicJwk.crv}' for creating jwk instance`\n )\n }\n } else if (publicJwk.crv === 'Ed25519') {\n jwkInstance = new Ed25519PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'X25519') {\n jwkInstance = new X25519PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else {\n throw new KeyManagementError(`Unsupported kty '${publicJwk.kty}' for creating jwk instance`)\n }\n\n return new PublicJwk(jwkInstance)\n }\n\n // FIXME: all Jwk combinations should be separate types.\n // so not kty: EC, and crv: P-256 | P-384\n // but: kty: EC, and crv: P-256 | kty: EC, and crv: P-384\n // As the first appraoch messes with TypeScript's type inference\n public static fromPublicJwk<Jwk extends KmsJwkPublicAsymmetric>(jwk: Jwk) {\n return PublicJwk.fromUnknown(jwk) as PublicJwk<\n ExtractByJwk<SupportedPublicJwk, Jwk> extends never ? SupportedPublicJwk : ExtractByJwk<SupportedPublicJwk, Jwk>\n >\n }\n\n public toJson({ includeKid = true }: { includeKid?: boolean } = {}): Jwk['jwk'] {\n if (includeKid) return this.jwk.jwk\n\n // biome-ignore lint/correctness/noUnusedVariables: no explanation\n const { kid, ...jwk } = this.jwk.jwk\n return jwk\n }\n\n public get supportedSignatureAlgorithms(): KnownJwaSignatureAlgorithm[] {\n return this.jwk.supportedSignatureAlgorithms ?? []\n }\n\n public get supportdEncryptionKeyAgreementAlgorithms(): KnownJwaKeyAgreementAlgorithm[] {\n return this.jwk.supportdEncryptionKeyAgreementAlgorithms ?? []\n }\n\n /**\n * key type as defined in [JWA Specification](https://tools.ietf.org/html/rfc7518#section-6.1)\n */\n public get kty(): Jwk['jwk']['kty'] {\n return this.jwk.jwk.kty\n }\n\n /**\n * Get the key id for a public jwk. If the public jwk does not have\n * a key id, an error will be thrown\n */\n public get keyId(): string {\n if (this.jwk.jwk.kid) return this.jwk.jwk.kid\n\n throw new KeyManagementError('Unable to determine keyId for jwk')\n }\n\n public get hasKeyId(): boolean {\n return this.jwk.jwk.kid !== undefined\n }\n\n public set keyId(keyId: string) {\n this.jwk.jwk.kid = keyId\n }\n\n public get legacyKeyId() {\n return legacyKeyIdFromPublicJwk(this)\n }\n\n public get publicKey(): Jwk['publicKey'] {\n return this.jwk.publicKey\n }\n\n /**\n * Return the compressed public key. If the key type does not support compressed public keys, it will return null\n */\n public get compressedPublicKey(): Jwk['compressedPublicKey'] {\n return this.jwk.compressedPublicKey\n }\n\n public get JwkClass() {\n return this.jwk.constructor as SupportedPublicJwkClass\n }\n\n /**\n * SHA-256 jwk thumbprint\n */\n public getJwkThumbprint(hashAlgorithm: HashName = 'sha-256') {\n return calculateJwkThumbprint({\n jwk: this.jwk.jwk,\n hashAlgorithm: hashAlgorithm,\n })\n }\n\n /**\n * Get the signature algorithm to use with this jwk. If the jwk has an `alg` field defined\n * it will use that alg, and otherwise fall back to the first supported signature algorithm.\n *\n * If no algorithm is supported it will throw an error\n */\n public get signatureAlgorithm() {\n if (this.jwk.jwk.alg) {\n if (!this.supportedSignatureAlgorithms.includes(this.jwk.jwk.alg as KnownJwaSignatureAlgorithm)) {\n throw new KeyManagementError(\n `${getJwkHumanDescription(this.jwk.jwk)} defines alg '${this.jwk.jwk.alg}' but this alg is not supported.`\n )\n }\n\n return this.jwk.jwk.alg as this['supportedSignatureAlgorithms'][number]\n }\n\n const alg = this.supportedSignatureAlgorithms[0]\n if (!alg) {\n throw new KeyManagementError(`${getJwkHumanDescription(this.jwk.jwk)} has no supported signature algorithms`)\n }\n\n return alg as this['supportedSignatureAlgorithms'][number]\n }\n\n public static fromPublicKey<Supported extends SupportedPublicJwk['publicKey']>(publicKey: Supported) {\n let jwkInstance: SupportedPublicJwk\n\n if (publicKey.kty === 'RSA') {\n jwkInstance = RsaPublicJwk.fromPublicKey(publicKey)\n } else if (publicKey.kty === 'EC') {\n if (publicKey.crv === 'P-256') {\n jwkInstance = P256PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'P-384') {\n jwkInstance = P384PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'P-521') {\n jwkInstance = P521PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'secp256k1') {\n jwkInstance = Secp256k1PublicJwk.fromPublicKey(publicKey.publicKey)\n } else {\n throw new KeyManagementError(\n // @ts-expect-error\n `Unsupported kty '${publicKey.kty}' with crv '${publicKey.crv}' for creating jwk instance based on public key bytes`\n )\n }\n } else if (publicKey.crv === 'X25519') {\n jwkInstance = X25519PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'Ed25519') {\n jwkInstance = Ed25519PublicJwk.fromPublicKey(publicKey.publicKey)\n } else {\n throw new KeyManagementError(\n // @ts-expect-error\n `Unsupported kty '${publicKey.kty}' for creating jwk instance based on public key bytes`\n )\n }\n\n return new PublicJwk(jwkInstance) as PublicJwk<ExtractByPublicKey<SupportedPublicJwk, Supported>>\n }\n\n /**\n * Returns the jwk encoded a Base58 multibase encoded multicodec key\n */\n public get fingerprint() {\n const prefixBytes = VarintEncoder.encode(this.jwk.multicodecPrefix)\n const prefixedPublicKey = new Uint8Array([...prefixBytes, ...this.jwk.multicodec])\n\n return `z${TypedArrayEncoder.toBase58(prefixedPublicKey)}`\n }\n\n /**\n * Create a jwk instance based on a Base58 multibase encoded multicodec key\n */\n public static fromFingerprint(fingerprint: string) {\n const { data } = MultiBaseEncoder.decode(fingerprint)\n const [code, byteLength] = VarintEncoder.decode(data)\n const publicKey = data.slice(byteLength)\n\n const PublicJwkClass = SupportedPublicJwks.find((JwkClass) => JwkClass.multicodecPrefix === code)\n if (!PublicJwkClass) {\n throw new KeyManagementError(`Unsupported multicodec public key with prefix '${code}'`)\n }\n\n const jwk = PublicJwkClass.fromMulticodec(publicKey)\n return new PublicJwk(jwk)\n }\n\n /**\n * Check whether this PublicJwk instance is of a specific type\n */\n public is<\n Jwk1 extends SupportedPublicJwk,\n Jwk2 extends SupportedPublicJwk = Jwk1,\n Jwk3 extends SupportedPublicJwk = Jwk1,\n >(\n jwkType1: Constructor<Jwk1>,\n jwkType2?: Constructor<Jwk2>,\n jwkType3?: Constructor<Jwk3>\n ): this is PublicJwk<Jwk1> | PublicJwk<Jwk2> | PublicJwk<Jwk3> {\n const types = [jwkType1, jwkType2, jwkType3].filter(Boolean) as Constructor<SupportedPublicJwk>[]\n return types.some((type) => this.jwk.constructor === type)\n }\n\n /**\n * Convert the PublicJwk to another type.\n *\n * NOTE: only supported for Ed25519 to X25519 at the moment\n */\n public convertTo(\n type: Jwk extends Ed25519PublicJwk ? typeof X25519PublicJwk : never\n ): Jwk extends Ed25519PublicJwk ? PublicJwk<X25519PublicJwk> : never {\n if (!this.is(Ed25519PublicJwk) || type !== X25519PublicJwk) {\n throw new KeyManagementError('Unsupported key conversion. Only Ed25519 to X25519 is supported.')\n }\n\n return PublicJwk.fromPublicJwk(this.jwk.toX25519PublicJwk()) as Jwk extends Ed25519PublicJwk\n ? PublicJwk<X25519PublicJwk>\n : never\n }\n\n /**\n * Check whether this jwk instance is the same as another jwk instance.\n * It does this by comparing the key types and public keys, not other fields\n * of the JWK such as keyId, use, etc..\n */\n public equals(other: PublicJwk) {\n return asymmetricPublicJwkMatches(this.toJson(), other.toJson())\n }\n\n /**\n * Get human description of a jwk type. This does\n * not include the (public) key material\n */\n public get jwkTypeHumanDescription() {\n return getJwkHumanDescription(this.toJson())\n }\n\n public static supportedPublicJwkClassForSignatureAlgorithm(alg: KnownJwaSignatureAlgorithm): SupportedPublicJwkClass {\n const supportedPublicJwkClass = SupportedPublicJwks.find((JwkClass) =>\n JwkClass.supportedSignatureAlgorithms.includes(alg)\n )\n\n if (!supportedPublicJwkClass) {\n throw new CredoError(`Could not determine supported public jwk class for alg '${alg}'`)\n }\n\n return supportedPublicJwkClass\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PublicJwk.mjs","names":["jwk: Jwk","jwkInstance: SupportedPublicJwk","supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[]"],"sources":["../../../../src/modules/kms/jwk/PublicJwk.ts"],"sourcesContent":["import type { HashName } from '../../../crypto'\nimport { CredoError } from '../../../error'\nimport { MultiBaseEncoder, TypedArrayEncoder, VarintEncoder } from '../../../utils'\nimport type { Constructor } from '../../../utils/mixins'\nimport { zParseWithErrorHandling } from '../../../utils/zod'\nimport { KeyManagementError } from '../error/KeyManagementError'\nimport { legacyKeyIdFromPublicJwk } from '../legacy'\nimport { asymmetricPublicJwkMatches } from './equals'\nimport { getJwkHumanDescription } from './humanDescription'\nimport type { KnownJwaKeyAgreementAlgorithm, KnownJwaSignatureAlgorithm } from './jwa'\nimport { calculateJwkThumbprint } from './jwkThumbprint'\nimport { assertJwkAsymmetric, type KmsJwkPublicAsymmetric, publicJwkFromPrivateJwk, zKmsJwkPublic } from './knownJwk'\n\nimport {\n Ed25519PublicJwk,\n P256PublicJwk,\n P384PublicJwk,\n P521PublicJwk,\n RsaPublicJwk,\n Secp256k1PublicJwk,\n X25519PublicJwk,\n} from './kty'\n\nexport const SupportedPublicJwks = [\n Ed25519PublicJwk,\n P256PublicJwk,\n P384PublicJwk,\n P521PublicJwk,\n RsaPublicJwk,\n Secp256k1PublicJwk,\n X25519PublicJwk,\n]\nexport type SupportedPublicJwkClass = (typeof SupportedPublicJwks)[number]\nexport type SupportedPublicJwk =\n | Ed25519PublicJwk\n | P256PublicJwk\n | P384PublicJwk\n | P521PublicJwk\n | RsaPublicJwk\n | Secp256k1PublicJwk\n | X25519PublicJwk\n\ntype ExtractByJwk<T, K> = T extends { jwk: infer J } ? (K extends J ? T : never) : never\n\ntype ExtractByPublicKey<T, K> = T extends { publicKey: infer J } ? (K extends J ? T : never) : never\n\nexport class PublicJwk<Jwk extends SupportedPublicJwk = SupportedPublicJwk> {\n private constructor(private readonly jwk: Jwk) {}\n\n public static fromUnknown(jwkJson: unknown) {\n // We remove any private properties if they are present\n const publicJwk = publicJwkFromPrivateJwk(zParseWithErrorHandling(zKmsJwkPublic, jwkJson, 'jwk is not a valid jwk'))\n assertJwkAsymmetric(publicJwk)\n\n let jwkInstance: SupportedPublicJwk\n if (publicJwk.kty === 'RSA') {\n jwkInstance = new RsaPublicJwk(publicJwk)\n } else if (publicJwk.kty === 'EC') {\n if (publicJwk.crv === 'P-256') {\n jwkInstance = new P256PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'P-384') {\n jwkInstance = new P384PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'P-521') {\n jwkInstance = new P521PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'secp256k1') {\n jwkInstance = new Secp256k1PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else {\n throw new KeyManagementError(\n `Unsupported kty '${publicJwk.kty}' with crv '${publicJwk.crv}' for creating jwk instance`\n )\n }\n } else if (publicJwk.crv === 'Ed25519') {\n jwkInstance = new Ed25519PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else if (publicJwk.crv === 'X25519') {\n jwkInstance = new X25519PublicJwk({\n ...publicJwk,\n crv: publicJwk.crv,\n })\n } else {\n throw new KeyManagementError(`Unsupported kty '${publicJwk.kty}' for creating jwk instance`)\n }\n\n return new PublicJwk(jwkInstance)\n }\n\n // FIXME: all Jwk combinations should be separate types.\n // so not kty: EC, and crv: P-256 | P-384\n // but: kty: EC, and crv: P-256 | kty: EC, and crv: P-384\n // As the first approach messes with TypeScript's type inference\n public static fromPublicJwk<Jwk extends KmsJwkPublicAsymmetric>(jwk: Jwk) {\n return PublicJwk.fromUnknown(jwk) as PublicJwk<\n ExtractByJwk<SupportedPublicJwk, Jwk> extends never ? SupportedPublicJwk : ExtractByJwk<SupportedPublicJwk, Jwk>\n >\n }\n\n public toJson({ includeKid = true }: { includeKid?: boolean } = {}): Jwk['jwk'] {\n if (includeKid) return this.jwk.jwk\n\n // biome-ignore lint/correctness/noUnusedVariables: no explanation\n const { kid, ...jwk } = this.jwk.jwk\n return jwk\n }\n\n /**\n * Get the signature algorithms supported for this jwk.\n *\n * If the jwk has an `alg` field defined it will only return that alg\n * and otherwise return all known supported signature algorithm.\n */\n public get supportedSignatureAlgorithms(): KnownJwaSignatureAlgorithm[] {\n const supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = this.jwk.supportedSignatureAlgorithms ?? []\n\n if (this.jwk.jwk.alg) {\n if (!supportedSignatureAlgorithms.includes(this.jwk.jwk.alg as KnownJwaSignatureAlgorithm)) {\n throw new KeyManagementError(\n `${this.jwkTypeHumanDescription} defines alg '${this.jwk.jwk.alg}' but this alg is not supported.`\n )\n }\n\n return [this.jwk.jwk.alg] as this['supportedSignatureAlgorithms']\n }\n\n return supportedSignatureAlgorithms\n }\n\n public get supportedEncryptionKeyAgreementAlgorithms(): KnownJwaKeyAgreementAlgorithm[] {\n return this.jwk.supportedEncryptionKeyAgreementAlgorithms ?? []\n }\n\n /**\n * key type as defined in [JWA Specification](https://tools.ietf.org/html/rfc7518#section-6.1)\n */\n public get kty(): Jwk['jwk']['kty'] {\n return this.jwk.jwk.kty\n }\n\n /**\n * Get the key id for a public jwk. If the public jwk does not have\n * a key id, an error will be thrown\n */\n public get keyId(): string {\n if (this.jwk.jwk.kid) return this.jwk.jwk.kid\n\n throw new KeyManagementError('Unable to determine keyId for jwk')\n }\n\n public get hasKeyId(): boolean {\n return this.jwk.jwk.kid !== undefined\n }\n\n public set keyId(keyId: string) {\n this.jwk.jwk.kid = keyId\n }\n\n public get legacyKeyId() {\n return legacyKeyIdFromPublicJwk(this)\n }\n\n public get publicKey(): Jwk['publicKey'] {\n return this.jwk.publicKey\n }\n\n /**\n * Return the compressed public key. If the key type does not support compressed public keys, it will return null\n */\n public get compressedPublicKey(): Jwk['compressedPublicKey'] {\n return this.jwk.compressedPublicKey\n }\n\n public get JwkClass() {\n return this.jwk.constructor as SupportedPublicJwkClass\n }\n\n /**\n * SHA-256 jwk thumbprint\n */\n public getJwkThumbprint(hashAlgorithm: HashName = 'sha-256') {\n return calculateJwkThumbprint({\n jwk: this.jwk.jwk,\n hashAlgorithm: hashAlgorithm,\n })\n }\n\n /**\n * Get the first signature algorithm to use with this jwk. If the jwk has an `alg` field defined\n * it will use that alg, and otherwise fall back to the first supported signature algorithm.\n *\n * If no algorithm is supported it will throw an error\n */\n public get signatureAlgorithm() {\n const alg = this.supportedSignatureAlgorithms[0]\n if (!alg) {\n throw new KeyManagementError(`${this.jwkTypeHumanDescription} has no supported signature algorithms`)\n }\n\n return alg as this['supportedSignatureAlgorithms'][number]\n }\n\n public assertSignatureAlgorithmSupported(\n alg: KnownJwaSignatureAlgorithm\n ): asserts alg is this['supportedSignatureAlgorithms'][number] {\n if (!this.supportedSignatureAlgorithms.includes(alg)) {\n throw new KeyManagementError(`${this.jwkTypeHumanDescription} does not support signature alg '${alg}'.`)\n }\n }\n\n public static fromPublicKey<Supported extends SupportedPublicJwk['publicKey']>(publicKey: Supported) {\n let jwkInstance: SupportedPublicJwk\n\n if (publicKey.kty === 'RSA') {\n jwkInstance = RsaPublicJwk.fromPublicKey(publicKey)\n } else if (publicKey.kty === 'EC') {\n if (publicKey.crv === 'P-256') {\n jwkInstance = P256PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'P-384') {\n jwkInstance = P384PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'P-521') {\n jwkInstance = P521PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'secp256k1') {\n jwkInstance = Secp256k1PublicJwk.fromPublicKey(publicKey.publicKey)\n } else {\n throw new KeyManagementError(\n // @ts-expect-error\n `Unsupported kty '${publicKey.kty}' with crv '${publicKey.crv}' for creating jwk instance based on public key bytes`\n )\n }\n } else if (publicKey.crv === 'X25519') {\n jwkInstance = X25519PublicJwk.fromPublicKey(publicKey.publicKey)\n } else if (publicKey.crv === 'Ed25519') {\n jwkInstance = Ed25519PublicJwk.fromPublicKey(publicKey.publicKey)\n } else {\n throw new KeyManagementError(\n // @ts-expect-error\n `Unsupported kty '${publicKey.kty}' for creating jwk instance based on public key bytes`\n )\n }\n\n return new PublicJwk(jwkInstance) as PublicJwk<ExtractByPublicKey<SupportedPublicJwk, Supported>>\n }\n\n /**\n * Returns the jwk encoded a Base58 multibase encoded multicodec key\n */\n public get fingerprint() {\n const prefixBytes = VarintEncoder.encode(this.jwk.multicodecPrefix)\n const prefixedPublicKey = new Uint8Array([...prefixBytes, ...this.jwk.multicodec])\n\n return `z${TypedArrayEncoder.toBase58(prefixedPublicKey)}`\n }\n\n /**\n * Create a jwk instance based on a Base58 multibase encoded multicodec key\n */\n public static fromFingerprint(fingerprint: string) {\n const { data } = MultiBaseEncoder.decode(fingerprint)\n const [code, byteLength] = VarintEncoder.decode(data)\n const publicKey = data.slice(byteLength)\n\n const PublicJwkClass = SupportedPublicJwks.find((JwkClass) => JwkClass.multicodecPrefix === code)\n if (!PublicJwkClass) {\n throw new KeyManagementError(`Unsupported multicodec public key with prefix '${code}'`)\n }\n\n const jwk = PublicJwkClass.fromMulticodec(publicKey)\n return new PublicJwk(jwk)\n }\n\n /**\n * Check whether this PublicJwk instance is of a specific type\n */\n public is<\n Jwk1 extends SupportedPublicJwk,\n Jwk2 extends SupportedPublicJwk = Jwk1,\n Jwk3 extends SupportedPublicJwk = Jwk1,\n >(\n jwkType1: Constructor<Jwk1>,\n jwkType2?: Constructor<Jwk2>,\n jwkType3?: Constructor<Jwk3>\n ): this is PublicJwk<Jwk1> | PublicJwk<Jwk2> | PublicJwk<Jwk3> {\n const types = [jwkType1, jwkType2, jwkType3].filter(Boolean) as Constructor<SupportedPublicJwk>[]\n return types.some((type) => this.jwk.constructor === type)\n }\n\n /**\n * Convert the PublicJwk to another type.\n *\n * NOTE: only supported for Ed25519 to X25519 at the moment\n */\n public convertTo(\n type: Jwk extends Ed25519PublicJwk ? typeof X25519PublicJwk : never\n ): Jwk extends Ed25519PublicJwk ? PublicJwk<X25519PublicJwk> : never {\n if (!this.is(Ed25519PublicJwk) || type !== X25519PublicJwk) {\n throw new KeyManagementError('Unsupported key conversion. Only Ed25519 to X25519 is supported.')\n }\n\n return PublicJwk.fromPublicJwk(this.jwk.toX25519PublicJwk()) as Jwk extends Ed25519PublicJwk\n ? PublicJwk<X25519PublicJwk>\n : never\n }\n\n /**\n * Check whether this jwk instance is the same as another jwk instance.\n * It does this by comparing the key types and public keys, not other fields\n * of the JWK such as keyId, use, etc..\n */\n public equals(other: PublicJwk) {\n return asymmetricPublicJwkMatches(this.toJson(), other.toJson())\n }\n\n /**\n * Get human description of a jwk type. This does\n * not include the (public) key material\n */\n public get jwkTypeHumanDescription() {\n return getJwkHumanDescription(this.toJson())\n }\n\n public static supportedPublicJwkClassForSignatureAlgorithm(alg: KnownJwaSignatureAlgorithm): SupportedPublicJwkClass {\n const supportedPublicJwkClass = SupportedPublicJwks.find((JwkClass) =>\n JwkClass.supportedSignatureAlgorithms.includes(alg)\n )\n\n if (!supportedPublicJwkClass) {\n throw new CredoError(`Could not determine supported public jwk class for alg '${alg}'`)\n }\n\n return supportedPublicJwkClass\n }\n}\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { KmsJwkPublicAsymmetric } from "../knownJwk.mjs";
|
|
|
6
6
|
interface PublicJwkType<Jwk extends KmsJwkPublicAsymmetric = KmsJwkPublicAsymmetric> {
|
|
7
7
|
readonly jwk: Jwk;
|
|
8
8
|
supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] | undefined;
|
|
9
|
-
|
|
9
|
+
supportedEncryptionKeyAgreementAlgorithms: KnownJwaKeyAgreementAlgorithm[] | undefined;
|
|
10
10
|
multicodec: AnyUint8Array;
|
|
11
11
|
}
|
|
12
12
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicJwk.d.mts","names":[],"sources":["../../../../../src/modules/kms/jwk/kty/PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,0BAA0B,yBAAyB;gBACpD;gCAEgB;
|
|
1
|
+
{"version":3,"file":"PublicJwk.d.mts","names":[],"sources":["../../../../../src/modules/kms/jwk/kty/PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,0BAA0B,yBAAyB;gBACpD;gCAEgB;6CACa;EAJ5B,UAAA,EAMH,aANgB"}
|
|
@@ -10,9 +10,9 @@ type Jwk = KmsJwkPublicEc & {
|
|
|
10
10
|
declare class P256PublicJwk implements PublicJwkType<Jwk> {
|
|
11
11
|
readonly jwk: Jwk;
|
|
12
12
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
13
|
-
static
|
|
13
|
+
static supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
14
14
|
static multicodecPrefix: number;
|
|
15
|
-
|
|
15
|
+
supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
16
16
|
supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[];
|
|
17
17
|
multicodecPrefix: number;
|
|
18
18
|
constructor(jwk: Jwk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P256PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P256PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,aAAA,YAAyB,cAAc;EAF/C,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAc,EACmB,0BADnB,EAAA;EAAyB,OAAA,
|
|
1
|
+
{"version":3,"file":"P256PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P256PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,aAAA,YAAyB,cAAc;EAF/C,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAc,EACmB,0BADnB,EAAA;EAAyB,OAAA,yCAAA,EAAA,SAAA,EAAA;EASV,OAAA,gBAAA,EAAA,MAAA;EARI,yCAAA,EAAA,SAAA,EAAA;EAQJ,4BAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,SAAA,GAAA,QAAA,CAAA,EAAA;;mBAAA;EAkBnB,IAAA,SAAA,CAAA,CAAA,EAAA;IAIkB,GAAA,EAAA,OAAA;IAAa,GAAA,EAAA,IAAA;IAKX,SAAA,eAAA;EAAa,CAAA;EApClB,IAAA,mBAAA,CAAA,CAAA,EAAA;IAAa,GAAA,EAAA,OAAA;;;;oBA2B5B;kCAIkB,gBAAa;oCAKX,gBAAa"}
|
|
@@ -7,7 +7,7 @@ import { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from "./ecPublicKey.mj
|
|
|
7
7
|
var P256PublicJwk = class P256PublicJwk {
|
|
8
8
|
constructor(jwk) {
|
|
9
9
|
this.jwk = jwk;
|
|
10
|
-
this.
|
|
10
|
+
this.supportedEncryptionKeyAgreementAlgorithms = P256PublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
11
11
|
this.supportedSignatureAlgorithms = P256PublicJwk.supportedSignatureAlgorithms;
|
|
12
12
|
this.multicodecPrefix = P256PublicJwk.multicodecPrefix;
|
|
13
13
|
}
|
|
@@ -36,7 +36,7 @@ var P256PublicJwk = class P256PublicJwk {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
P256PublicJwk.supportedSignatureAlgorithms = [KnownJwaSignatureAlgorithms.ES256];
|
|
39
|
-
P256PublicJwk.
|
|
39
|
+
P256PublicJwk.supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES];
|
|
40
40
|
P256PublicJwk.multicodecPrefix = 4608;
|
|
41
41
|
|
|
42
42
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P256PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P256PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'P-256' }\n\nexport class P256PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES256]\n public static
|
|
1
|
+
{"version":3,"file":"P256PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P256PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'P-256' }\n\nexport class P256PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES256]\n public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES]\n public static multicodecPrefix = 4608\n\n public supportedEncryptionKeyAgreementAlgorithms = P256PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = P256PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = P256PublicJwk.multicodecPrefix\n\n public constructor(public readonly jwk: Jwk) {}\n\n public get publicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk),\n }\n }\n\n public get compressedPublicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk, { compressed: true }),\n }\n }\n\n public get multicodec() {\n return ecPublicJwkToPublicKey(this.jwk, { compressed: true })\n }\n\n public static fromPublicKey(publicKey: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'P-256')\n return new P256PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'P-256')\n return new P256PublicJwk(jwk)\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,gBAAb,MAAa,cAA4C;CASvD,AAAO,YAAY,AAAgBA,KAAU;EAAV;OAJ5B,4CAA4C,cAAc;OAC1D,+BAA+B,cAAc;OAC7C,mBAAmB,cAAc;;CAIxC,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,IAAI;GAC5C;;CAGH,IAAW,sBAAsB;AAC/B,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;GAClE;;CAGH,IAAW,aAAa;AACtB,SAAO,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;;CAG/D,OAAc,cAAc,WAA0B;AAEpD,SAAO,IAAI,cADC,uBAAuB,WAAW,QAAQ,CACzB;;CAG/B,OAAc,eAAe,YAA2B;AAEtD,SAAO,IAAI,cADC,uBAAuB,YAAY,QAAQ,CAC1B;;;cArCjB,+BAA6D,CAAC,4BAA4B,MAAM;cAChG,4CAA4C,CAAC,+BAA+B,QAAQ;cACpF,mBAAmB"}
|
|
@@ -10,9 +10,9 @@ type Jwk = KmsJwkPublicEc & {
|
|
|
10
10
|
declare class P384PublicJwk implements PublicJwkType<Jwk> {
|
|
11
11
|
readonly jwk: Jwk;
|
|
12
12
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
13
|
-
static
|
|
13
|
+
static supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
14
14
|
static multicodecPrefix: number;
|
|
15
|
-
|
|
15
|
+
supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
16
16
|
supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[];
|
|
17
17
|
multicodecPrefix: number;
|
|
18
18
|
constructor(jwk: Jwk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P384PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P384PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,aAAA,YAAyB,cAAc;EAF/C,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAc,EACmB,0BADnB,EAAA;EAAyB,OAAA,
|
|
1
|
+
{"version":3,"file":"P384PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P384PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,aAAA,YAAyB,cAAc;EAF/C,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAc,EACmB,0BADnB,EAAA;EAAyB,OAAA,yCAAA,EAAA,SAAA,EAAA;EASV,OAAA,gBAAA,EAAA,MAAA;EARI,yCAAA,EAAA,SAAA,EAAA;EAQJ,4BAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,SAAA,GAAA,QAAA,CAAA,EAAA;;mBAAA;EAkBnB,IAAA,SAAA,CAAA,CAAA,EAAA;IAIkB,GAAA,EAAA,OAAA;IAAa,GAAA,EAAA,IAAA;IAKX,SAAA,eAAA;EAAa,CAAA;EApClB,IAAA,mBAAA,CAAA,CAAA,EAAA;IAAa,GAAA,EAAA,OAAA;;;;oBA2B5B;kCAIkB,gBAAa;oCAKX,gBAAa"}
|
|
@@ -7,7 +7,7 @@ import { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from "./ecPublicKey.mj
|
|
|
7
7
|
var P384PublicJwk = class P384PublicJwk {
|
|
8
8
|
constructor(jwk) {
|
|
9
9
|
this.jwk = jwk;
|
|
10
|
-
this.
|
|
10
|
+
this.supportedEncryptionKeyAgreementAlgorithms = P384PublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
11
11
|
this.supportedSignatureAlgorithms = P384PublicJwk.supportedSignatureAlgorithms;
|
|
12
12
|
this.multicodecPrefix = P384PublicJwk.multicodecPrefix;
|
|
13
13
|
}
|
|
@@ -36,7 +36,7 @@ var P384PublicJwk = class P384PublicJwk {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
P384PublicJwk.supportedSignatureAlgorithms = [KnownJwaSignatureAlgorithms.ES384];
|
|
39
|
-
P384PublicJwk.
|
|
39
|
+
P384PublicJwk.supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES];
|
|
40
40
|
P384PublicJwk.multicodecPrefix = 4609;
|
|
41
41
|
|
|
42
42
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P384PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P384PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'P-384' }\n\nexport class P384PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES384]\n public static
|
|
1
|
+
{"version":3,"file":"P384PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P384PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'P-384' }\n\nexport class P384PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES384]\n public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES]\n public static multicodecPrefix = 4609\n\n public supportedEncryptionKeyAgreementAlgorithms = P384PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = P384PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = P384PublicJwk.multicodecPrefix\n\n public constructor(public readonly jwk: Jwk) {}\n\n public get publicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk),\n }\n }\n\n public get compressedPublicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk, { compressed: true }),\n }\n }\n\n public get multicodec() {\n return ecPublicJwkToPublicKey(this.jwk, { compressed: true })\n }\n\n public static fromPublicKey(publicKey: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'P-384')\n return new P384PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'P-384')\n return new P384PublicJwk(jwk)\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,gBAAb,MAAa,cAA4C;CASvD,AAAO,YAAY,AAAgBA,KAAU;EAAV;OAJ5B,4CAA4C,cAAc;OAC1D,+BAA+B,cAAc;OAC7C,mBAAmB,cAAc;;CAIxC,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,IAAI;GAC5C;;CAGH,IAAW,sBAAsB;AAC/B,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;GAClE;;CAGH,IAAW,aAAa;AACtB,SAAO,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;;CAG/D,OAAc,cAAc,WAA0B;AAEpD,SAAO,IAAI,cADC,uBAAuB,WAAW,QAAQ,CACzB;;CAG/B,OAAc,eAAe,YAA2B;AAEtD,SAAO,IAAI,cADC,uBAAuB,YAAY,QAAQ,CAC1B;;;cArCjB,+BAA6D,CAAC,4BAA4B,MAAM;cAChG,4CAA4C,CAAC,+BAA+B,QAAQ;cACpF,mBAAmB"}
|
|
@@ -10,9 +10,9 @@ type Jwk = KmsJwkPublicEc & {
|
|
|
10
10
|
declare class P521PublicJwk implements PublicJwkType<Jwk> {
|
|
11
11
|
readonly jwk: Jwk;
|
|
12
12
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
13
|
-
static
|
|
13
|
+
static supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
14
14
|
static multicodecPrefix: number;
|
|
15
|
-
|
|
15
|
+
supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
16
16
|
supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[];
|
|
17
17
|
multicodecPrefix: number;
|
|
18
18
|
constructor(jwk: Jwk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P521PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P521PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,aAAA,YAAyB,cAAc;EAF/C,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAc,EACmB,0BADnB,EAAA;EAAyB,OAAA,
|
|
1
|
+
{"version":3,"file":"P521PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P521PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,aAAA,YAAyB,cAAc;EAF/C,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAc,EACmB,0BADnB,EAAA;EAAyB,OAAA,yCAAA,EAAA,SAAA,EAAA;EASV,OAAA,gBAAA,EAAA,MAAA;EARI,yCAAA,EAAA,SAAA,EAAA;EAQJ,4BAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,SAAA,GAAA,QAAA,CAAA,EAAA;;mBAAA;EAkBnB,IAAA,SAAA,CAAA,CAAA,EAAA;IAIkB,GAAA,EAAA,OAAA;IAAa,GAAA,EAAA,IAAA;IAKX,SAAA,eAAA;EAAa,CAAA;EApClB,IAAA,mBAAA,CAAA,CAAA,EAAA;IAAa,GAAA,EAAA,OAAA;;;;oBA2B5B;kCAIkB,gBAAa;oCAKX,gBAAa"}
|
|
@@ -7,7 +7,7 @@ import { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from "./ecPublicKey.mj
|
|
|
7
7
|
var P521PublicJwk = class P521PublicJwk {
|
|
8
8
|
constructor(jwk) {
|
|
9
9
|
this.jwk = jwk;
|
|
10
|
-
this.
|
|
10
|
+
this.supportedEncryptionKeyAgreementAlgorithms = P521PublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
11
11
|
this.supportedSignatureAlgorithms = P521PublicJwk.supportedSignatureAlgorithms;
|
|
12
12
|
this.multicodecPrefix = P521PublicJwk.multicodecPrefix;
|
|
13
13
|
}
|
|
@@ -36,7 +36,7 @@ var P521PublicJwk = class P521PublicJwk {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
P521PublicJwk.supportedSignatureAlgorithms = [KnownJwaSignatureAlgorithms.ES512];
|
|
39
|
-
P521PublicJwk.
|
|
39
|
+
P521PublicJwk.supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES];
|
|
40
40
|
P521PublicJwk.multicodecPrefix = 4610;
|
|
41
41
|
|
|
42
42
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"P521PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P521PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'P-521' }\n\nexport class P521PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES512]\n public static
|
|
1
|
+
{"version":3,"file":"P521PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P521PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'P-521' }\n\nexport class P521PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES512]\n public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES]\n public static multicodecPrefix = 4610\n\n public supportedEncryptionKeyAgreementAlgorithms = P521PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = P521PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = P521PublicJwk.multicodecPrefix\n\n public constructor(public readonly jwk: Jwk) {}\n\n public get publicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk),\n }\n }\n\n public get compressedPublicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk, { compressed: true }),\n }\n }\n\n public get multicodec() {\n return ecPublicJwkToPublicKey(this.jwk, { compressed: true })\n }\n\n public static fromPublicKey(publicKey: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'P-521')\n return new P521PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'P-521')\n return new P521PublicJwk(jwk)\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,gBAAb,MAAa,cAA4C;CASvD,AAAO,YAAY,AAAgBA,KAAU;EAAV;OAJ5B,4CAA4C,cAAc;OAC1D,+BAA+B,cAAc;OAC7C,mBAAmB,cAAc;;CAIxC,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,IAAI;GAC5C;;CAGH,IAAW,sBAAsB;AAC/B,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;GAClE;;CAGH,IAAW,aAAa;AACtB,SAAO,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;;CAG/D,OAAc,cAAc,WAA0B;AAEpD,SAAO,IAAI,cADC,uBAAuB,WAAW,QAAQ,CACzB;;CAG/B,OAAc,eAAe,YAA2B;AAEtD,SAAO,IAAI,cADC,uBAAuB,YAAY,QAAQ,CAC1B;;;cArCjB,+BAA6D,CAAC,4BAA4B,MAAM;cAChG,4CAA4C,CAAC,+BAA+B,QAAQ;cACpF,mBAAmB"}
|
|
@@ -10,9 +10,9 @@ type Jwk = KmsJwkPublicEc & {
|
|
|
10
10
|
declare class Secp256k1PublicJwk implements PublicJwkType<Jwk> {
|
|
11
11
|
readonly jwk: Jwk;
|
|
12
12
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
13
|
-
static
|
|
13
|
+
static supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
14
14
|
static multicodecPrefix: number;
|
|
15
|
-
|
|
15
|
+
supportedEncryptionKeyAgreementAlgorithms: "ECDH-ES"[];
|
|
16
16
|
supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[];
|
|
17
17
|
multicodecPrefix: number;
|
|
18
18
|
constructor(jwk: Jwk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Secp256k1PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,kBAAA,YAA8B,cAAc;EAFpD,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAmB,EACc,0BADd,EAAA;EAAyB,OAAA,
|
|
1
|
+
{"version":3,"file":"Secp256k1PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,kBAAA,YAA8B,cAAc;EAFpD,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,4BAAmB,EACc,0BADd,EAAA;EAAyB,OAAA,yCAAA,EAAA,SAAA,EAAA;EASf,OAAA,gBAAA,EAAA,MAAA;EARI,yCAAA,EAAA,SAAA,EAAA;EAQJ,4BAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,SAAA,GAAA,QAAA,CAAA,EAAA;;mBAAA;EAkBnB,IAAA,SAAA,CAAA,CAAA,EAAA;IAIkB,GAAA,EAAA,WAAA;IAAa,GAAA,EAAA,IAAA;IAKX,SAAA,eAAA;EAAa,CAAA;EApCb,IAAA,mBAAA,CAAA,CAAA,EAAA;IAAa,GAAA,EAAA,WAAA;;;;oBA2BjC;kCAIkB,gBAAa;oCAKX,gBAAa"}
|
|
@@ -7,7 +7,7 @@ import { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from "./ecPublicKey.mj
|
|
|
7
7
|
var Secp256k1PublicJwk = class Secp256k1PublicJwk {
|
|
8
8
|
constructor(jwk) {
|
|
9
9
|
this.jwk = jwk;
|
|
10
|
-
this.
|
|
10
|
+
this.supportedEncryptionKeyAgreementAlgorithms = Secp256k1PublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
11
11
|
this.supportedSignatureAlgorithms = Secp256k1PublicJwk.supportedSignatureAlgorithms;
|
|
12
12
|
this.multicodecPrefix = Secp256k1PublicJwk.multicodecPrefix;
|
|
13
13
|
}
|
|
@@ -36,7 +36,7 @@ var Secp256k1PublicJwk = class Secp256k1PublicJwk {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Secp256k1PublicJwk.supportedSignatureAlgorithms = [KnownJwaSignatureAlgorithms.ES256K];
|
|
39
|
-
Secp256k1PublicJwk.
|
|
39
|
+
Secp256k1PublicJwk.supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES];
|
|
40
40
|
Secp256k1PublicJwk.multicodecPrefix = 231;
|
|
41
41
|
|
|
42
42
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Secp256k1PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'secp256k1' }\n\nexport class Secp256k1PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES256K]\n public static
|
|
1
|
+
{"version":3,"file":"Secp256k1PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/Secp256k1PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm, KnownJwaSignatureAlgorithms } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicEc } from './ecJwk'\nimport { ecPublicJwkToPublicKey, ecPublicKeyToPublicJwk } from './ecPublicKey'\n\ntype Jwk = KmsJwkPublicEc & { crv: 'secp256k1' }\n\nexport class Secp256k1PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [KnownJwaSignatureAlgorithms.ES256K]\n public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_ES]\n public static multicodecPrefix = 231\n\n public supportedEncryptionKeyAgreementAlgorithms = Secp256k1PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = Secp256k1PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = Secp256k1PublicJwk.multicodecPrefix\n\n public constructor(public readonly jwk: Jwk) {}\n\n public get publicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk),\n }\n }\n\n public get compressedPublicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: ecPublicJwkToPublicKey(this.jwk, { compressed: true }),\n }\n }\n\n public get multicodec() {\n return ecPublicJwkToPublicKey(this.jwk, { compressed: true })\n }\n\n public static fromPublicKey(publicKey: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'secp256k1')\n return new Secp256k1PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: AnyUint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'secp256k1')\n return new Secp256k1PublicJwk(jwk)\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,qBAAb,MAAa,mBAAiD;CAS5D,AAAO,YAAY,AAAgBA,KAAU;EAAV;OAJ5B,4CAA4C,mBAAmB;OAC/D,+BAA+B,mBAAmB;OAClD,mBAAmB,mBAAmB;;CAI7C,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,IAAI;GAC5C;;CAGH,IAAW,sBAAsB;AAC/B,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;GAClE;;CAGH,IAAW,aAAa;AACtB,SAAO,uBAAuB,KAAK,KAAK,EAAE,YAAY,MAAM,CAAC;;CAG/D,OAAc,cAAc,WAA0B;AAEpD,SAAO,IAAI,mBADC,uBAAuB,WAAW,YAAY,CACxB;;CAGpC,OAAc,eAAe,YAA2B;AAEtD,SAAO,IAAI,mBADC,uBAAuB,YAAY,YAAY,CACzB;;;mBArCtB,+BAA6D,CAAC,4BAA4B,OAAO;mBACjG,4CAA4C,CAAC,+BAA+B,QAAQ;mBACpF,mBAAmB"}
|
|
@@ -10,9 +10,9 @@ type Jwk = KmsJwkPublicOkp & {
|
|
|
10
10
|
declare class Ed25519PublicJwk implements PublicJwkType<Jwk> {
|
|
11
11
|
readonly jwk: Jwk;
|
|
12
12
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
13
|
-
static
|
|
13
|
+
static supportedEncryptionKeyAgreementAlgorithms: KnownJwaKeyAgreementAlgorithm[];
|
|
14
14
|
static multicodecPrefix: number;
|
|
15
|
-
|
|
15
|
+
supportedEncryptionKeyAgreementAlgorithms: ("ECDH-ES" | "ECDH-ES+A128KW" | "ECDH-ES+A192KW" | "ECDH-ES+A256KW" | "ECDH-HSALSA20")[];
|
|
16
16
|
supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[];
|
|
17
17
|
multicodecPrefix: number;
|
|
18
18
|
constructor(jwk: Jwk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/Ed25519PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAYK,GAAA,GAAM;;;cAEE,gBAAA,YAA4B,cAAc;EAFlD,SAAG,GAAA,EAckC,GAdlC;EAEK,OAAA,4BAAiB,EACgB,0BADhB,EAAA;EAAyB,OAAA,
|
|
1
|
+
{"version":3,"file":"Ed25519PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/Ed25519PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAYK,GAAA,GAAM;;;cAEE,gBAAA,YAA4B,cAAc;EAFlD,SAAG,GAAA,EAckC,GAdlC;EAEK,OAAA,4BAAiB,EACgB,0BADhB,EAAA;EAAyB,OAAA,yCAAA,EAKI,6BALJ,EAAA;EAYb,OAAA,gBAAA,EAAA,MAAA;EAXI,yCAAA,EAAA,CAAA,SAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,eAAA,CAAA,EAAA;EAIa,4BAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,SAAA,GAAA,QAAA,CAAA,EAAA;EAOjB,gBAAA,EAAA,MAAA;mBAAA;EAiBnB,IAAA,SAAA,CAAA,CAAA,EAAA;IAIkB,GAAA,EAAA,SAAA;IAAa,GAAA,EAAA,KAAA;IAKX,SAAA,eAAA;EAAa,CAAA;EAtCf;;;;oBA6BlB;kCAIkB,gBAAa;oCAKX,gBAAa"}
|
|
@@ -9,7 +9,7 @@ import { convertPublicKeyToX25519 } from "@stablelib/ed25519";
|
|
|
9
9
|
var Ed25519PublicJwk = class Ed25519PublicJwk {
|
|
10
10
|
constructor(jwk) {
|
|
11
11
|
this.jwk = jwk;
|
|
12
|
-
this.
|
|
12
|
+
this.supportedEncryptionKeyAgreementAlgorithms = Ed25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
13
13
|
this.supportedSignatureAlgorithms = Ed25519PublicJwk.supportedSignatureAlgorithms;
|
|
14
14
|
this.multicodecPrefix = Ed25519PublicJwk.multicodecPrefix;
|
|
15
15
|
}
|
|
@@ -40,7 +40,7 @@ var Ed25519PublicJwk = class Ed25519PublicJwk {
|
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
Ed25519PublicJwk.supportedSignatureAlgorithms = [KnownJwaSignatureAlgorithms.EdDSA, KnownJwaSignatureAlgorithms.Ed25519];
|
|
43
|
-
Ed25519PublicJwk.
|
|
43
|
+
Ed25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms = [];
|
|
44
44
|
Ed25519PublicJwk.multicodecPrefix = 237;
|
|
45
45
|
|
|
46
46
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/Ed25519PublicJwk.ts"],"sourcesContent":["import { convertPublicKeyToX25519 } from '@stablelib/ed25519'\nimport type { AnyUint8Array, Uint8ArrayBuffer } from '../../../../../types'\nimport {\n type KnownJwaKeyAgreementAlgorithm,\n type KnownJwaSignatureAlgorithm,\n KnownJwaSignatureAlgorithms,\n} from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicOkp } from './okpJwk'\nimport { okpPublicJwkToPublicKey, okpPublicKeyToPublicJwk } from './okpPublicKey'\nimport { X25519PublicJwk } from './X25519PublicJwk'\n\ntype Jwk = KmsJwkPublicOkp & { crv: 'Ed25519' }\n\nexport class Ed25519PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [\n KnownJwaSignatureAlgorithms.EdDSA,\n KnownJwaSignatureAlgorithms.Ed25519,\n ]\n public static
|
|
1
|
+
{"version":3,"file":"Ed25519PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/Ed25519PublicJwk.ts"],"sourcesContent":["import { convertPublicKeyToX25519 } from '@stablelib/ed25519'\nimport type { AnyUint8Array, Uint8ArrayBuffer } from '../../../../../types'\nimport {\n type KnownJwaKeyAgreementAlgorithm,\n type KnownJwaSignatureAlgorithm,\n KnownJwaSignatureAlgorithms,\n} from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicOkp } from './okpJwk'\nimport { okpPublicJwkToPublicKey, okpPublicKeyToPublicJwk } from './okpPublicKey'\nimport { X25519PublicJwk } from './X25519PublicJwk'\n\ntype Jwk = KmsJwkPublicOkp & { crv: 'Ed25519' }\n\nexport class Ed25519PublicJwk implements PublicJwkType<Jwk> {\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [\n KnownJwaSignatureAlgorithms.EdDSA,\n KnownJwaSignatureAlgorithms.Ed25519,\n ]\n public static supportedEncryptionKeyAgreementAlgorithms: KnownJwaKeyAgreementAlgorithm[] = []\n public static multicodecPrefix = 237\n\n public supportedEncryptionKeyAgreementAlgorithms = Ed25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = Ed25519PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = Ed25519PublicJwk.multicodecPrefix\n\n public constructor(public readonly jwk: Jwk) {}\n\n public get publicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: okpPublicJwkToPublicKey(this.jwk),\n }\n }\n\n /**\n * Not supported for Ed25519\n */\n public get compressedPublicKey() {\n return null\n }\n\n public get multicodec() {\n return okpPublicJwkToPublicKey(this.jwk)\n }\n\n public static fromPublicKey(publicKey: AnyUint8Array) {\n const jwk = okpPublicKeyToPublicJwk(publicKey, 'Ed25519')\n return new Ed25519PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: AnyUint8Array) {\n const jwk = okpPublicKeyToPublicJwk(multicodec, 'Ed25519')\n return new Ed25519PublicJwk(jwk)\n }\n\n public toX25519PublicJwk() {\n return X25519PublicJwk.fromPublicKey(convertPublicKeyToX25519(this.publicKey.publicKey) as Uint8ArrayBuffer).jwk\n }\n}\n"],"mappings":";;;;;;;;AAcA,IAAa,mBAAb,MAAa,iBAA+C;CAY1D,AAAO,YAAY,AAAgBA,KAAU;EAAV;OAJ5B,4CAA4C,iBAAiB;OAC7D,+BAA+B,iBAAiB;OAChD,mBAAmB,iBAAiB;;CAI3C,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,wBAAwB,KAAK,IAAI;GAC7C;;;;;CAMH,IAAW,sBAAsB;AAC/B,SAAO;;CAGT,IAAW,aAAa;AACtB,SAAO,wBAAwB,KAAK,IAAI;;CAG1C,OAAc,cAAc,WAA0B;AAEpD,SAAO,IAAI,iBADC,wBAAwB,WAAW,UAAU,CACzB;;CAGlC,OAAc,eAAe,YAA2B;AAEtD,SAAO,IAAI,iBADC,wBAAwB,YAAY,UAAU,CAC1B;;CAGlC,AAAO,oBAAoB;AACzB,SAAO,gBAAgB,cAAc,yBAAyB,KAAK,UAAU,UAAU,CAAqB,CAAC;;;iBA3CjG,+BAA6D,CACzE,4BAA4B,OAC5B,4BAA4B,QAC7B;iBACa,4CAA6E,EAAE;iBAC/E,mBAAmB"}
|
|
@@ -9,10 +9,10 @@ type Jwk = KmsJwkPublicOkp & {
|
|
|
9
9
|
};
|
|
10
10
|
declare class X25519PublicJwk implements PublicJwkType<Jwk> {
|
|
11
11
|
readonly jwk: Jwk;
|
|
12
|
-
static
|
|
12
|
+
static supportedEncryptionKeyAgreementAlgorithms: "ECDH-HSALSA20"[];
|
|
13
13
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
14
14
|
static multicodecPrefix: number;
|
|
15
|
-
|
|
15
|
+
supportedEncryptionKeyAgreementAlgorithms: "ECDH-HSALSA20"[];
|
|
16
16
|
supportedSignatureAlgorithms: ("HS256" | "HS384" | "HS512" | "RS256" | "RS384" | "RS512" | "ES256" | "ES384" | "ES512" | "PS256" | "PS384" | "PS512" | "EdDSA" | "Ed25519" | "ES256K")[];
|
|
17
17
|
multicodecPrefix: number;
|
|
18
18
|
constructor(jwk: Jwk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"X25519PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/X25519PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,eAAA,YAA2B,cAAc;EAFjD,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,
|
|
1
|
+
{"version":3,"file":"X25519PublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/X25519PublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;KAMK,GAAA,GAAM;;;cAEE,eAAA,YAA2B,cAAc;EAFjD,SAAG,GAAA,EAWkC,GAXlC;EAEK,OAAA,yCAAgB,EAAA,eAAA,EAAA;EAAyB,OAAA,4BAAA,EAER,0BAFQ,EAAA;EASZ,OAAA,gBAAA,EAAA,MAAA;EAPI,yCAAA,EAAA,eAAA,EAAA;EAOJ,4BAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,SAAA,GAAA,QAAA,CAAA,EAAA;;EAiBnB,WAAA,CAAA,GAAA,EAjBmB,GAiBnB;EAIkB,IAAA,SAAA,CAAA,CAAA,EAAA;IAAa,GAAA,EAAA,QAAA;IAKX,GAAA,EAAA,KAAA;IAAa,SAAA,eAAA;EAnChB,CAAA;EAAa;;;;oBA0B9B;kCAIkB,gBAAa;oCAKX,gBAAa"}
|
|
@@ -7,7 +7,7 @@ import { okpPublicJwkToPublicKey, okpPublicKeyToPublicJwk } from "./okpPublicKey
|
|
|
7
7
|
var X25519PublicJwk = class X25519PublicJwk {
|
|
8
8
|
constructor(jwk) {
|
|
9
9
|
this.jwk = jwk;
|
|
10
|
-
this.
|
|
10
|
+
this.supportedEncryptionKeyAgreementAlgorithms = X25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
11
11
|
this.supportedSignatureAlgorithms = X25519PublicJwk.supportedSignatureAlgorithms;
|
|
12
12
|
this.multicodecPrefix = X25519PublicJwk.multicodecPrefix;
|
|
13
13
|
}
|
|
@@ -34,7 +34,7 @@ var X25519PublicJwk = class X25519PublicJwk {
|
|
|
34
34
|
return new X25519PublicJwk(okpPublicKeyToPublicJwk(multicodec, "X25519"));
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
X25519PublicJwk.
|
|
37
|
+
X25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_HSALSA20];
|
|
38
38
|
X25519PublicJwk.supportedSignatureAlgorithms = [];
|
|
39
39
|
X25519PublicJwk.multicodecPrefix = 236;
|
|
40
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"X25519PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/X25519PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicOkp } from './okpJwk'\nimport { okpPublicJwkToPublicKey, okpPublicKeyToPublicJwk } from './okpPublicKey'\n\ntype Jwk = KmsJwkPublicOkp & { crv: 'X25519' }\n\nexport class X25519PublicJwk implements PublicJwkType<Jwk> {\n public static
|
|
1
|
+
{"version":3,"file":"X25519PublicJwk.mjs","names":["jwk: Jwk"],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/X25519PublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array } from '../../../../../types'\nimport { KnownJwaKeyAgreementAlgorithms, type KnownJwaSignatureAlgorithm } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicOkp } from './okpJwk'\nimport { okpPublicJwkToPublicKey, okpPublicKeyToPublicJwk } from './okpPublicKey'\n\ntype Jwk = KmsJwkPublicOkp & { crv: 'X25519' }\n\nexport class X25519PublicJwk implements PublicJwkType<Jwk> {\n public static supportedEncryptionKeyAgreementAlgorithms = [KnownJwaKeyAgreementAlgorithms.ECDH_HSALSA20]\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = []\n public static multicodecPrefix = 236\n\n public supportedEncryptionKeyAgreementAlgorithms = X25519PublicJwk.supportedEncryptionKeyAgreementAlgorithms\n public supportedSignatureAlgorithms = X25519PublicJwk.supportedSignatureAlgorithms\n public multicodecPrefix = X25519PublicJwk.multicodecPrefix\n\n public constructor(public readonly jwk: Jwk) {}\n\n public get publicKey() {\n return {\n crv: this.jwk.crv,\n kty: this.jwk.kty,\n publicKey: okpPublicJwkToPublicKey(this.jwk),\n }\n }\n\n /**\n * Not supported for X25519\n */\n public get compressedPublicKey() {\n return null\n }\n\n public get multicodec() {\n return okpPublicJwkToPublicKey(this.jwk)\n }\n\n public static fromPublicKey(publicKey: AnyUint8Array) {\n const jwk = okpPublicKeyToPublicJwk(publicKey, 'X25519')\n return new X25519PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: AnyUint8Array) {\n const jwk = okpPublicKeyToPublicJwk(multicodec, 'X25519')\n return new X25519PublicJwk(jwk)\n }\n}\n"],"mappings":";;;;;;AAQA,IAAa,kBAAb,MAAa,gBAA8C;CASzD,AAAO,YAAY,AAAgBA,KAAU;EAAV;OAJ5B,4CAA4C,gBAAgB;OAC5D,+BAA+B,gBAAgB;OAC/C,mBAAmB,gBAAgB;;CAI1C,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,wBAAwB,KAAK,IAAI;GAC7C;;;;;CAMH,IAAW,sBAAsB;AAC/B,SAAO;;CAGT,IAAW,aAAa;AACtB,SAAO,wBAAwB,KAAK,IAAI;;CAG1C,OAAc,cAAc,WAA0B;AAEpD,SAAO,IAAI,gBADC,wBAAwB,WAAW,SAAS,CACzB;;CAGjC,OAAc,eAAe,YAA2B;AAEtD,SAAO,IAAI,gBADC,wBAAwB,YAAY,SAAS,CAC1B;;;gBApCnB,4CAA4C,CAAC,+BAA+B,cAAc;gBAC1F,+BAA6D,EAAE;gBAC/D,mBAAmB"}
|
|
@@ -6,12 +6,12 @@ import { PublicJwkType } from "../PublicJwk.mjs";
|
|
|
6
6
|
//#region src/modules/kms/jwk/kty/rsa/RsaPublicJwk.d.ts
|
|
7
7
|
declare class RsaPublicJwk implements PublicJwkType<KmsJwkPublicRsa> {
|
|
8
8
|
readonly jwk: KmsJwkPublicRsa;
|
|
9
|
-
static
|
|
9
|
+
static supportedEncryptionKeyAgreementAlgorithms: KnownJwaKeyAgreementAlgorithm[];
|
|
10
10
|
static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[];
|
|
11
11
|
static multicodecPrefix: number;
|
|
12
12
|
multicodecPrefix: number;
|
|
13
|
-
|
|
14
|
-
get supportedSignatureAlgorithms(): ("
|
|
13
|
+
supportedEncryptionKeyAgreementAlgorithms: ("ECDH-ES" | "ECDH-ES+A128KW" | "ECDH-ES+A192KW" | "ECDH-ES+A256KW" | "ECDH-HSALSA20")[];
|
|
14
|
+
get supportedSignatureAlgorithms(): ("RS256" | "RS384" | "RS512" | "PS256" | "PS384" | "PS512")[];
|
|
15
15
|
constructor(jwk: KmsJwkPublicRsa);
|
|
16
16
|
get publicKey(): {
|
|
17
17
|
modulus: AnyUint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RsaPublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/rsa/RsaPublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;cAQa,YAAA,YAAwB,cAAc;gBA0BT;
|
|
1
|
+
{"version":3,"file":"RsaPublicJwk.d.mts","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/rsa/RsaPublicJwk.ts"],"sourcesContent":[],"mappings":";;;;;;cAQa,YAAA,YAAwB,cAAc;gBA0BT;oDAzBiB;uCACb;EAFjC,OAAA,gBAAa,EAAA,MAAA;EAAyB,gBAAA,EAAA,MAAA;EA0BT,yCAAA,EAAA,CAAA,SAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,eAAA,CAAA,EAAA;EAzBiB,IAAA,4BAAA,CAAA,CAAA,EAAA,CAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,GAAA,OAAA,CAAA,EAAA;EACb,WAAA,CAAA,GAAA,EAwBJ,eAxBI;EAwBJ,IAAA,SAAA,CAAA,CAAA,EAAA;;;IAgBf,GAAA,EAAA,KAAA;EAIyB,CAAA;EAAyB;;;EAIjB,IAAA,mBAAA,CAAA,CAAA,EAAA,IAAA;EAlDvB,IAAA,UAAA,CAAA,CAAA,EA0CV,gBA1CU;EAAa,OAAA,aAAA,CAAA,SAAA,EAAA;aA8CE;cAAyB;MAAe;qCAIhD,gBAAgB"}
|
|
@@ -25,7 +25,7 @@ var RsaPublicJwk = class RsaPublicJwk {
|
|
|
25
25
|
constructor(jwk) {
|
|
26
26
|
this.jwk = jwk;
|
|
27
27
|
this.multicodecPrefix = RsaPublicJwk.multicodecPrefix;
|
|
28
|
-
this.
|
|
28
|
+
this.supportedEncryptionKeyAgreementAlgorithms = RsaPublicJwk.supportedEncryptionKeyAgreementAlgorithms;
|
|
29
29
|
}
|
|
30
30
|
get publicKey() {
|
|
31
31
|
return {
|
|
@@ -49,7 +49,7 @@ var RsaPublicJwk = class RsaPublicJwk {
|
|
|
49
49
|
throw new KeyManagementError("fromMulticodec not supported for RsaPublicJwk");
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
RsaPublicJwk.
|
|
52
|
+
RsaPublicJwk.supportedEncryptionKeyAgreementAlgorithms = [];
|
|
53
53
|
RsaPublicJwk.supportedSignatureAlgorithms = [
|
|
54
54
|
"PS256",
|
|
55
55
|
"RS256",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RsaPublicJwk.mjs","names":["
|
|
1
|
+
{"version":3,"file":"RsaPublicJwk.mjs","names":["jwk: KmsJwkPublicRsa"],"sources":["../../../../../../src/modules/kms/jwk/kty/rsa/RsaPublicJwk.ts"],"sourcesContent":["import type { AnyUint8Array, Uint8ArrayBuffer } from '../../../../../types'\nimport { TypedArrayEncoder } from '../../../../../utils'\nimport { KeyManagementError } from '../../../error/KeyManagementError'\nimport type { KnownJwaKeyAgreementAlgorithm, KnownJwaSignatureAlgorithm } from '../../jwa'\nimport type { PublicJwkType } from '../PublicJwk'\nimport type { KmsJwkPublicRsa } from './rsaJwk'\nimport { rsaPublicJwkToPublicKey, rsaPublicKeyToPublicJwk } from './rsaPublicKey'\n\nexport class RsaPublicJwk implements PublicJwkType<KmsJwkPublicRsa> {\n public static supportedEncryptionKeyAgreementAlgorithms: KnownJwaKeyAgreementAlgorithm[] = []\n public static supportedSignatureAlgorithms: KnownJwaSignatureAlgorithm[] = [\n 'PS256',\n 'RS256',\n 'RS384',\n 'PS384',\n 'RS512',\n 'PS512',\n ]\n public static multicodecPrefix = 4613\n\n public multicodecPrefix = RsaPublicJwk.multicodecPrefix\n public supportedEncryptionKeyAgreementAlgorithms = RsaPublicJwk.supportedEncryptionKeyAgreementAlgorithms\n\n public get supportedSignatureAlgorithms() {\n const keyBits = TypedArrayEncoder.fromBase64(this.jwk.n).length * 8\n\n // RSA needs minimum bit lengths for each algorithm\n const minBits2048 = ['PS256', 'RS256'] satisfies KnownJwaSignatureAlgorithm[]\n const minBits3072 = [...minBits2048, 'RS384', 'PS384'] satisfies KnownJwaSignatureAlgorithm[]\n const minBits4096 = [...minBits3072, 'RS512', 'PS512'] satisfies KnownJwaSignatureAlgorithm[]\n\n return keyBits >= 4096 ? minBits4096 : keyBits >= 3072 ? minBits3072 : keyBits >= 2048 ? minBits2048 : []\n }\n\n public constructor(public readonly jwk: KmsJwkPublicRsa) {}\n\n public get publicKey() {\n return {\n kty: this.jwk.kty,\n ...rsaPublicJwkToPublicKey(this.jwk),\n }\n }\n\n /**\n * Not supported for RSA\n */\n public get compressedPublicKey() {\n return null\n }\n\n public get multicodec(): Uint8ArrayBuffer {\n throw new KeyManagementError('multicodec not supported for RsaPublicJwk')\n }\n\n public static fromPublicKey(publicKey: { modulus: AnyUint8Array; exponent: AnyUint8Array }) {\n return new RsaPublicJwk(rsaPublicKeyToPublicJwk(publicKey))\n }\n\n public static fromMulticodec(_multicodec: AnyUint8Array): RsaPublicJwk {\n throw new KeyManagementError('fromMulticodec not supported for RsaPublicJwk')\n }\n}\n"],"mappings":";;;;;;;;AAQA,IAAa,eAAb,MAAa,aAAuD;CAelE,IAAW,+BAA+B;EACxC,MAAM,UAAU,kBAAkB,WAAW,KAAK,IAAI,EAAE,CAAC,SAAS;EAGlE,MAAM,cAAc,CAAC,SAAS,QAAQ;EACtC,MAAM,cAAc;GAAC,GAAG;GAAa;GAAS;GAAQ;EACtD,MAAM,cAAc;GAAC,GAAG;GAAa;GAAS;GAAQ;AAEtD,SAAO,WAAW,OAAO,cAAc,WAAW,OAAO,cAAc,WAAW,OAAO,cAAc,EAAE;;CAG3G,AAAO,YAAY,AAAgBA,KAAsB;EAAtB;OAd5B,mBAAmB,aAAa;OAChC,4CAA4C,aAAa;;CAehE,IAAW,YAAY;AACrB,SAAO;GACL,KAAK,KAAK,IAAI;GACd,GAAG,wBAAwB,KAAK,IAAI;GACrC;;;;;CAMH,IAAW,sBAAsB;AAC/B,SAAO;;CAGT,IAAW,aAA+B;AACxC,QAAM,IAAI,mBAAmB,4CAA4C;;CAG3E,OAAc,cAAc,WAAgE;AAC1F,SAAO,IAAI,aAAa,wBAAwB,UAAU,CAAC;;CAG7D,OAAc,eAAe,aAA0C;AACrE,QAAM,IAAI,mBAAmB,gDAAgD;;;aAlDjE,4CAA6E,EAAE;aAC/E,+BAA6D;CACzE;CACA;CACA;CACA;CACA;CACA;CACD;aACa,mBAAmB"}
|
|
@@ -117,7 +117,7 @@ const getMdocContext = (agentContext) => {
|
|
|
117
117
|
const x509Certificate = X509Certificate.fromRawCertificate(certificate);
|
|
118
118
|
return {
|
|
119
119
|
...x509Certificate.data,
|
|
120
|
-
thumbprint: await x509Certificate.
|
|
120
|
+
thumbprint: await x509Certificate.getThumbprintInHex(agentContext)
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
123
|
}
|