@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
1 lines • 2.53 kB
Source Map (JSON)
{"version":3,"file":"P256PublicJwk.mjs","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P256PublicJwk.ts"],"sourcesContent":["import { 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: Uint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'P-256')\n return new P256PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: Uint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'P-256')\n return new P256PublicJwk(jwk)\n }\n}\n"],"mappings":";;;;;;AAOA,IAAa,gBAAb,MAAa,cAA4C;CASvD,AAAO,YAAY,AAAgB,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,WAAuB;AAEjD,SAAO,IAAI,cADC,uBAAuB,WAAW,QAAQ,CACzB;;CAG/B,OAAc,eAAe,YAAwB;AAEnD,SAAO,IAAI,cADC,uBAAuB,YAAY,QAAQ,CAC1B;;;cArCjB,+BAA6D,CAAC,4BAA4B,MAAM;cAChG,4CAA4C,CAAC,+BAA+B,QAAQ;cACpF,mBAAmB"}