{"version":3,"file":"rsaJwk.mjs","names":["z"],"sources":["../../../../../../src/modules/kms/jwk/kty/rsa/rsaJwk.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zBase64Url, zOptionalToUndefined } from '../../../../../utils/zod'\nimport { vJwkCommon } from '../../jwk'\n\nconst zKmsJwkPrivateRsaOth = z.array(\n  z\n    .object({\n      d: z.optional(zBase64Url),\n      r: z.optional(zBase64Url),\n      t: z.optional(zBase64Url),\n    })\n    .loose()\n)\n\nexport const zKmsJwkPublicRsa = z.object({\n  ...vJwkCommon.shape,\n  kty: z.literal('RSA'),\n\n  // Public\n  n: zBase64Url, // Modulus\n  e: zBase64Url, // Public exponent\n\n  // Private\n  d: z.optional(z.undefined()), // Private exponent\n  p: z.optional(z.undefined()), // First prime factor\n  q: z.optional(z.undefined()), // Second prime factor\n  dp: z.optional(z.undefined()), // First factor CRT exponent\n  dq: z.optional(z.undefined()), // Second factor CRT exponent\n  qi: z.optional(z.undefined()), // First CRT coefficient\n  oth: z.optional(z.undefined()),\n})\nexport type KmsJwkPublicRsa = z.output<typeof zKmsJwkPublicRsa>\n\nexport const zKmsJwkPrivateToPublicRsa = z.object({\n  ...zKmsJwkPublicRsa.shape,\n\n  d: zOptionalToUndefined(zBase64Url), // Private exponent\n  p: zOptionalToUndefined(zBase64Url), // First prime factor\n  q: zOptionalToUndefined(zBase64Url), // Second prime factor\n  dp: zOptionalToUndefined(zBase64Url), // First factor CRT exponent\n  dq: zOptionalToUndefined(zBase64Url), // Second factor CRT exponent\n  qi: zOptionalToUndefined(zBase64Url), // First CRT coefficient\n  oth: zOptionalToUndefined(zKmsJwkPrivateRsaOth),\n})\n\nexport const zKmsJwkPrivateRsa = z.object({\n  ...zKmsJwkPublicRsa.shape,\n\n  // Private\n  d: zBase64Url, // Private exponent\n  p: zBase64Url, // First prime factor\n  q: zBase64Url, // Second prime factor\n  dp: zBase64Url, // First factor CRT exponent\n  dq: zBase64Url, // Second factor CRT exponent\n  qi: zBase64Url, // First CRT coefficient\n  oth: z.optional(zKmsJwkPrivateRsaOth),\n})\nexport type KmsJwkPrivateRsa = z.output<typeof zKmsJwkPrivateRsa>\n"],"mappings":";;;;AAIA,MAAM,uBAAuBA,IAAE,MAC7BA,IACG,OAAO;CACN,GAAGA,IAAE,SAAS,UAAU;CACxB,GAAGA,IAAE,SAAS,UAAU;CACxB,GAAGA,IAAE,SAAS,UAAU;AAC1B,CAAC,CAAC,CACD,MAAM,CACX;AAEA,MAAa,mBAAmBA,IAAE,OAAO;CACvC,GAAG,WAAW;CACd,KAAKA,IAAE,QAAQ,KAAK;CAGpB,GAAG;CACH,GAAG;CAGH,GAAGA,IAAE,SAASA,IAAE,UAAU,CAAC;CAC3B,GAAGA,IAAE,SAASA,IAAE,UAAU,CAAC;CAC3B,GAAGA,IAAE,SAASA,IAAE,UAAU,CAAC;CAC3B,IAAIA,IAAE,SAASA,IAAE,UAAU,CAAC;CAC5B,IAAIA,IAAE,SAASA,IAAE,UAAU,CAAC;CAC5B,IAAIA,IAAE,SAASA,IAAE,UAAU,CAAC;CAC5B,KAAKA,IAAE,SAASA,IAAE,UAAU,CAAC;AAC/B,CAAC;AAGD,MAAa,4BAA4BA,IAAE,OAAO;CAChD,GAAG,iBAAiB;CAEpB,GAAG,qBAAqB,UAAU;CAClC,GAAG,qBAAqB,UAAU;CAClC,GAAG,qBAAqB,UAAU;CAClC,IAAI,qBAAqB,UAAU;CACnC,IAAI,qBAAqB,UAAU;CACnC,IAAI,qBAAqB,UAAU;CACnC,KAAK,qBAAqB,oBAAoB;AAChD,CAAC;AAED,MAAa,oBAAoBA,IAAE,OAAO;CACxC,GAAG,iBAAiB;CAGpB,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAKA,IAAE,SAAS,oBAAoB;AACtC,CAAC"}