mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 08:27:36 +00:00
Update DN parsing fn
This commit is contained in:
@@ -20,15 +20,11 @@ export const createDistinguishedName = (parts: TDNParts) => {
|
|||||||
|
|
||||||
export const parseDistinguishedName = (dn: string): TDNParts => {
|
export const parseDistinguishedName = (dn: string): TDNParts => {
|
||||||
const parts: TDNParts = {};
|
const parts: TDNParts = {};
|
||||||
const dnRegex = /(?:^|,\s*)([A-Z]+)=([^,]+)/g;
|
const dnParts = dn.split(/,\s*/);
|
||||||
let match: RegExpExecArray | null;
|
|
||||||
|
|
||||||
while (true) {
|
for (const part of dnParts) {
|
||||||
match = dnRegex.exec(dn);
|
const [key, value] = part.split("=");
|
||||||
if (match === null) break;
|
switch (key.toUpperCase()) {
|
||||||
|
|
||||||
const [, key, value] = match;
|
|
||||||
switch (key) {
|
|
||||||
case "C":
|
case "C":
|
||||||
parts.country = value;
|
parts.country = value;
|
||||||
break;
|
break;
|
||||||
@@ -52,6 +48,7 @@ export const parseDistinguishedName = (dn: string): TDNParts => {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return parts;
|
return parts;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user