From 76311a1b5fc1f49a0313c62a940b2d40f78f4e9d Mon Sep 17 00:00:00 2001 From: Tuan Dang Date: Fri, 2 Aug 2024 07:00:36 -0700 Subject: [PATCH] Update DN parsing fn --- .../certificate-authority-fns.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/backend/src/services/certificate-authority/certificate-authority-fns.ts b/backend/src/services/certificate-authority/certificate-authority-fns.ts index e1edfd198..397aa4552 100644 --- a/backend/src/services/certificate-authority/certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/certificate-authority-fns.ts @@ -20,15 +20,11 @@ export const createDistinguishedName = (parts: TDNParts) => { export const parseDistinguishedName = (dn: string): TDNParts => { const parts: TDNParts = {}; - const dnRegex = /(?:^|,\s*)([A-Z]+)=([^,]+)/g; - let match: RegExpExecArray | null; + const dnParts = dn.split(/,\s*/); - while (true) { - match = dnRegex.exec(dn); - if (match === null) break; - - const [, key, value] = match; - switch (key) { + for (const part of dnParts) { + const [key, value] = part.split("="); + switch (key.toUpperCase()) { case "C": parts.country = value; break; @@ -52,6 +48,7 @@ export const parseDistinguishedName = (dn: string): TDNParts => { break; } } + return parts; };