{"version":3,"file":"rsaJwk.mjs","names":[],"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,uBAAuB,EAAE,MAC7B,EACG,OAAO;CACN,GAAG,EAAE,SAAS,WAAW;CACzB,GAAG,EAAE,SAAS,WAAW;CACzB,GAAG,EAAE,SAAS,WAAW;CAC1B,CAAC,CACD,OAAO,CACX;AAED,MAAa,mBAAmB,EAAE,OAAO;CACvC,GAAG,WAAW;CACd,KAAK,EAAE,QAAQ,MAAM;CAGrB,GAAG;CACH,GAAG;CAGH,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC;CAC5B,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC;CAC5B,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC;CAC5B,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC;CAC7B,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC;CAC7B,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC;CAC7B,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC;CAC/B,CAAC;AAGF,MAAa,4BAA4B,EAAE,OAAO;CAChD,GAAG,iBAAiB;CAEpB,GAAG,qBAAqB,WAAW;CACnC,GAAG,qBAAqB,WAAW;CACnC,GAAG,qBAAqB,WAAW;CACnC,IAAI,qBAAqB,WAAW;CACpC,IAAI,qBAAqB,WAAW;CACpC,IAAI,qBAAqB,WAAW;CACpC,KAAK,qBAAqB,qBAAqB;CAChD,CAAC;AAEF,MAAa,oBAAoB,EAAE,OAAO;CACxC,GAAG,iBAAiB;CAGpB,GAAG;CACH,GAAG;CACH,GAAG;CACH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK,EAAE,SAAS,qBAAqB;CACtC,CAAC"}