From c37e3ba635a3750b03e4b48cda5b910a17f13d08 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Fri, 13 Sep 2024 12:44:12 +0800 Subject: [PATCH] misc: addressed comments --- .../v1/certificate-authority-crl-router.ts | 24 +++++++++++++++++++ .../routes/v1/certificate-authority-router.ts | 2 +- .../certificate-authority-service.ts | 12 +++++----- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/backend/src/ee/routes/v1/certificate-authority-crl-router.ts b/backend/src/ee/routes/v1/certificate-authority-crl-router.ts index 468981c0e..f61706025 100644 --- a/backend/src/ee/routes/v1/certificate-authority-crl-router.ts +++ b/backend/src/ee/routes/v1/certificate-authority-crl-router.ts @@ -11,6 +11,30 @@ export const registerCaCrlRouter = async (server: FastifyZodProvider) => { config: { rateLimit: readLimit }, + schema: { + description: "Get CRL in DER format (deprecated)", + params: z.object({ + crlId: z.string().trim().describe(CA_CRLS.GET.crlId) + }), + response: { + 200: z.instanceof(Buffer) + } + }, + handler: async (req, res) => { + const { crl } = await server.services.certificateAuthorityCrl.getCrlById(req.params.crlId); + + res.header("Content-Type", "application/pkix-crl"); + + return Buffer.from(crl); + } + }); + + server.route({ + method: "GET", + url: "/:crlId/der", + config: { + rateLimit: readLimit + }, schema: { description: "Get CRL in DER format", params: z.object({ diff --git a/backend/src/server/routes/v1/certificate-authority-router.ts b/backend/src/server/routes/v1/certificate-authority-router.ts index 3abd048a8..88ec8500e 100644 --- a/backend/src/server/routes/v1/certificate-authority-router.ts +++ b/backend/src/server/routes/v1/certificate-authority-router.ts @@ -144,7 +144,7 @@ export const registerCaRouter = async (server: FastifyZodProvider) => { // against the Authority Information Access CA Issuer URL server.route({ method: "GET", - url: "/:caId/certificates/:caCertId", + url: "/:caId/certificates/:caCertId/der", config: { rateLimit: readLimit }, diff --git a/backend/src/services/certificate-authority/certificate-authority-service.ts b/backend/src/services/certificate-authority/certificate-authority-service.ts index dfde75b84..c7d32f1d3 100644 --- a/backend/src/services/certificate-authority/certificate-authority-service.ts +++ b/backend/src/services/certificate-authority/certificate-authority-service.ts @@ -901,9 +901,9 @@ export const certificateAuthorityServiceFactory = ({ const serialNumber = createSerialNumber(); const caCrl = await certificateAuthorityCrlDAL.findOne({ caSecretId: caSecret.id }); - const distributionPointUrl = `${appCfg.SITE_URL}/api/v1/pki/crl/${caCrl.id}`; + const distributionPointUrl = `${appCfg.SITE_URL}/api/v1/pki/crl/${caCrl.id}/der`; - const caIssuerUrl = `${appCfg.SITE_URL}/api/v1/pki/ca/${ca.id}/certificates/${caCert.id}`; + const caIssuerUrl = `${appCfg.SITE_URL}/api/v1/pki/ca/${ca.id}/certificates/${caCert.id}/der`; const intermediateCert = await x509.X509CertificateGenerator.create({ serialNumber, subject: csrObj.subject, @@ -1219,8 +1219,8 @@ export const certificateAuthorityServiceFactory = ({ const caCrl = await certificateAuthorityCrlDAL.findOne({ caSecretId: caSecret.id }); const appCfg = getConfig(); - const distributionPointUrl = `${appCfg.SITE_URL}/api/v1/pki/crl/${caCrl.id}`; - const caIssuerUrl = `${appCfg.SITE_URL}/api/v1/pki/ca/${ca.id}/certificates/${caCert.id}`; + const distributionPointUrl = `${appCfg.SITE_URL}/api/v1/pki/crl/${caCrl.id}/der`; + const caIssuerUrl = `${appCfg.SITE_URL}/api/v1/pki/ca/${ca.id}/certificates/${caCert.id}/der`; const extensions: x509.Extension[] = [ new x509.BasicConstraintsExtension(false), @@ -1551,9 +1551,9 @@ export const certificateAuthorityServiceFactory = ({ }); const caCrl = await certificateAuthorityCrlDAL.findOne({ caSecretId: caSecret.id }); - const distributionPointUrl = `${appCfg.SITE_URL}/api/v1/pki/crl/${caCrl.id}`; + const distributionPointUrl = `${appCfg.SITE_URL}/api/v1/pki/crl/${caCrl.id}/der`; - const caIssuerUrl = `${appCfg.SITE_URL}/api/v1/pki/ca/${ca.id}/certificates/${caCert.id}`; + const caIssuerUrl = `${appCfg.SITE_URL}/api/v1/pki/ca/${ca.id}/certificates/${caCert.id}/der`; const extensions: x509.Extension[] = [ new x509.BasicConstraintsExtension(false), await x509.AuthorityKeyIdentifierExtension.create(caCertObj, false),