@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.62 kB
Source Map (JSON)
{"version":3,"file":"P521PublicJwk.mjs","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P521PublicJwk.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-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: Uint8Array) {\n const jwk = ecPublicKeyToPublicJwk(publicKey, 'P-521')\n return new P521PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: Uint8Array) {\n const jwk = ecPublicKeyToPublicJwk(multicodec, 'P-521')\n return new P521PublicJwk(jwk)\n }\n}\n"],"mappings":";;;AAOA,IAAa,gBAAb,MAAa,cAA4C;CASvD,YAAmB,KAA0B;EAAV,KAAA,MAAA;EAJnC,KAAO,4CAA4C,cAAc;EACjE,KAAO,+BAA+B,cAAc;EACpD,KAAO,mBAAmB,cAAc;CAEM;CAE9C,IAAW,YAAY;EACrB,OAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,GAAG;EAC5C;CACF;CAEA,IAAW,sBAAsB;EAC/B,OAAO;GACL,KAAK,KAAK,IAAI;GACd,KAAK,KAAK,IAAI;GACd,WAAW,uBAAuB,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC;EAClE;CACF;CAEA,IAAW,aAAa;EACtB,OAAO,uBAAuB,KAAK,KAAK,EAAE,YAAY,KAAK,CAAC;CAC9D;CAEA,OAAc,cAAc,WAAuB;EACjD,MAAM,MAAM,uBAAuB,WAAW,OAAO;EACrD,OAAO,IAAI,cAAc,GAAG;CAC9B;CAEA,OAAc,eAAe,YAAwB;EACnD,MAAM,MAAM,uBAAuB,YAAY,OAAO;EACtD,OAAO,IAAI,cAAc,GAAG;CAC9B;AACF;AAvCE,cAAc,+BAA6D,CAAC,4BAA4B,KAAK;AAC7G,cAAc,4CAA4C,CAAC,+BAA+B,OAAO;AACjG,cAAc,mBAAmB"}