{"version":3,"file":"P384PublicJwk.mjs","names":[],"sources":["../../../../../../src/modules/kms/jwk/kty/ec/P384PublicJwk.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-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: Uint8Array) {\n    const jwk = ecPublicKeyToPublicJwk(publicKey, 'P-384')\n    return new P384PublicJwk(jwk)\n  }\n\n  public static fromMulticodec(multicodec: Uint8Array) {\n    const jwk = ecPublicKeyToPublicJwk(multicodec, 'P-384')\n    return new P384PublicJwk(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"}