{"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"}