@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.77 kB
Source Map (JSON)
{"version":3,"file":"Ed25519PublicJwk.mjs","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/okp/Ed25519PublicJwk.ts"],"sourcesContent":["import { convertPublicKeyToX25519 } from '@stablelib/ed25519'\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: Uint8Array) {\n const jwk = okpPublicKeyToPublicJwk(publicKey, 'Ed25519')\n return new Ed25519PublicJwk(jwk)\n }\n\n public static fromMulticodec(multicodec: Uint8Array) {\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 Uint8Array).jwk\n }\n}\n"],"mappings":";;;;;;;;AAaA,IAAa,mBAAb,MAAa,iBAA+C;CAY1D,AAAO,YAAY,AAAgB,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,WAAuB;AAEjD,SAAO,IAAI,iBADC,wBAAwB,WAAW,UAAU,CACzB;;CAGlC,OAAc,eAAe,YAAwB;AAEnD,SAAO,IAAI,iBADC,wBAAwB,YAAY,UAAU,CAC1B;;CAGlC,AAAO,oBAAoB;AACzB,SAAO,gBAAgB,cAAc,yBAAyB,KAAK,UAAU,UAAU,CAAe,CAAC;;;iBA3C3F,+BAA6D,CACzE,4BAA4B,OAC5B,4BAA4B,QAC7B;iBACa,4CAA6E,EAAE;iBAC/E,mBAAmB"}