mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-21 20:28:17 +00:00
Addressed PR comments
This commit is contained in:
@@ -0,0 +1,186 @@
|
||||
export enum CertSubjectAlternativeNameType {
|
||||
DNS_NAME = "dns_name",
|
||||
IP_ADDRESS = "ip_address",
|
||||
EMAIL = "email",
|
||||
URI = "uri"
|
||||
}
|
||||
|
||||
export enum CertKeyUsageType {
|
||||
DIGITAL_SIGNATURE = "digital_signature",
|
||||
KEY_ENCIPHERMENT = "key_encipherment",
|
||||
NON_REPUDIATION = "non_repudiation",
|
||||
DATA_ENCIPHERMENT = "data_encipherment",
|
||||
KEY_AGREEMENT = "key_agreement",
|
||||
KEY_CERT_SIGN = "key_cert_sign",
|
||||
CRL_SIGN = "crl_sign",
|
||||
ENCIPHER_ONLY = "encipher_only",
|
||||
DECIPHER_ONLY = "decipher_only"
|
||||
}
|
||||
|
||||
export enum CertExtendedKeyUsageType {
|
||||
CLIENT_AUTH = "client_auth",
|
||||
SERVER_AUTH = "server_auth",
|
||||
CODE_SIGNING = "code_signing",
|
||||
EMAIL_PROTECTION = "email_protection",
|
||||
OCSP_SIGNING = "ocsp_signing",
|
||||
TIME_STAMPING = "time_stamping"
|
||||
}
|
||||
|
||||
export enum CertIncludeType {
|
||||
MANDATORY = "mandatory",
|
||||
OPTIONAL = "optional",
|
||||
PROHIBIT = "prohibit"
|
||||
}
|
||||
|
||||
export enum CertDurationUnit {
|
||||
DAYS = "days",
|
||||
MONTHS = "months",
|
||||
YEARS = "years"
|
||||
}
|
||||
|
||||
export enum CertSubjectAttributeType {
|
||||
COMMON_NAME = "common_name"
|
||||
}
|
||||
|
||||
export const mapSANTypeToLegacy = (type: CertSubjectAlternativeNameType): string => {
|
||||
switch (type) {
|
||||
case CertSubjectAlternativeNameType.DNS_NAME:
|
||||
return "dns";
|
||||
case CertSubjectAlternativeNameType.IP_ADDRESS:
|
||||
return "ip";
|
||||
case CertSubjectAlternativeNameType.EMAIL:
|
||||
return "email";
|
||||
case CertSubjectAlternativeNameType.URI:
|
||||
return "uri";
|
||||
default:
|
||||
return type;
|
||||
}
|
||||
};
|
||||
|
||||
export const mapLegacySANTypeToStandard = (type: string): CertSubjectAlternativeNameType => {
|
||||
switch (type) {
|
||||
case "dns":
|
||||
case "dns_name":
|
||||
return CertSubjectAlternativeNameType.DNS_NAME;
|
||||
case "ip":
|
||||
case "ip_address":
|
||||
return CertSubjectAlternativeNameType.IP_ADDRESS;
|
||||
case "email":
|
||||
return CertSubjectAlternativeNameType.EMAIL;
|
||||
case "uri":
|
||||
case "url":
|
||||
return CertSubjectAlternativeNameType.URI;
|
||||
default:
|
||||
throw new Error(`Unknown SAN type: ${type}`);
|
||||
}
|
||||
};
|
||||
|
||||
export const mapKeyUsageToLegacy = (usage: CertKeyUsageType): string => {
|
||||
switch (usage) {
|
||||
case CertKeyUsageType.DIGITAL_SIGNATURE:
|
||||
return "digitalSignature";
|
||||
case CertKeyUsageType.KEY_ENCIPHERMENT:
|
||||
return "keyEncipherment";
|
||||
case CertKeyUsageType.NON_REPUDIATION:
|
||||
return "nonRepudiation";
|
||||
case CertKeyUsageType.DATA_ENCIPHERMENT:
|
||||
return "dataEncipherment";
|
||||
case CertKeyUsageType.KEY_AGREEMENT:
|
||||
return "keyAgreement";
|
||||
case CertKeyUsageType.KEY_CERT_SIGN:
|
||||
return "keyCertSign";
|
||||
case CertKeyUsageType.CRL_SIGN:
|
||||
return "cRLSign";
|
||||
case CertKeyUsageType.ENCIPHER_ONLY:
|
||||
return "encipherOnly";
|
||||
case CertKeyUsageType.DECIPHER_ONLY:
|
||||
return "decipherOnly";
|
||||
default:
|
||||
return usage;
|
||||
}
|
||||
};
|
||||
|
||||
export const mapLegacyKeyUsageToStandard = (usage: string): CertKeyUsageType => {
|
||||
switch (usage) {
|
||||
case "digitalSignature":
|
||||
case "digital_signature":
|
||||
return CertKeyUsageType.DIGITAL_SIGNATURE;
|
||||
case "keyEncipherment":
|
||||
case "key_encipherment":
|
||||
return CertKeyUsageType.KEY_ENCIPHERMENT;
|
||||
case "nonRepudiation":
|
||||
case "non_repudiation":
|
||||
return CertKeyUsageType.NON_REPUDIATION;
|
||||
case "dataEncipherment":
|
||||
case "data_encipherment":
|
||||
return CertKeyUsageType.DATA_ENCIPHERMENT;
|
||||
case "keyAgreement":
|
||||
case "key_agreement":
|
||||
return CertKeyUsageType.KEY_AGREEMENT;
|
||||
case "keyCertSign":
|
||||
case "key_cert_sign":
|
||||
return CertKeyUsageType.KEY_CERT_SIGN;
|
||||
case "cRLSign":
|
||||
case "crl_sign":
|
||||
return CertKeyUsageType.CRL_SIGN;
|
||||
case "encipherOnly":
|
||||
case "encipher_only":
|
||||
return CertKeyUsageType.ENCIPHER_ONLY;
|
||||
case "decipherOnly":
|
||||
case "decipher_only":
|
||||
return CertKeyUsageType.DECIPHER_ONLY;
|
||||
default:
|
||||
throw new Error(`Unknown key usage: ${usage}`);
|
||||
}
|
||||
};
|
||||
|
||||
export const mapExtendedKeyUsageToLegacy = (usage: CertExtendedKeyUsageType): string => {
|
||||
switch (usage) {
|
||||
case CertExtendedKeyUsageType.CLIENT_AUTH:
|
||||
return "clientAuth";
|
||||
case CertExtendedKeyUsageType.SERVER_AUTH:
|
||||
return "serverAuth";
|
||||
case CertExtendedKeyUsageType.CODE_SIGNING:
|
||||
return "codeSigning";
|
||||
case CertExtendedKeyUsageType.EMAIL_PROTECTION:
|
||||
return "emailProtection";
|
||||
case CertExtendedKeyUsageType.OCSP_SIGNING:
|
||||
return "ocspSigning";
|
||||
case CertExtendedKeyUsageType.TIME_STAMPING:
|
||||
return "timeStamping";
|
||||
default:
|
||||
return usage;
|
||||
}
|
||||
};
|
||||
|
||||
export const mapLegacyExtendedKeyUsageToStandard = (usage: string): CertExtendedKeyUsageType => {
|
||||
switch (usage) {
|
||||
case "clientAuth":
|
||||
case "client_auth":
|
||||
return CertExtendedKeyUsageType.CLIENT_AUTH;
|
||||
case "serverAuth":
|
||||
case "server_auth":
|
||||
return CertExtendedKeyUsageType.SERVER_AUTH;
|
||||
case "codeSigning":
|
||||
case "code_signing":
|
||||
return CertExtendedKeyUsageType.CODE_SIGNING;
|
||||
case "emailProtection":
|
||||
case "email_protection":
|
||||
return CertExtendedKeyUsageType.EMAIL_PROTECTION;
|
||||
case "ocspSigning":
|
||||
case "ocsp_signing":
|
||||
return CertExtendedKeyUsageType.OCSP_SIGNING;
|
||||
case "timeStamping":
|
||||
case "time_stamping":
|
||||
return CertExtendedKeyUsageType.TIME_STAMPING;
|
||||
default:
|
||||
throw new Error(`Unknown extended key usage: ${usage}`);
|
||||
}
|
||||
};
|
||||
|
||||
export const SAN_TYPE_OPTIONS = Object.values(CertSubjectAlternativeNameType);
|
||||
export const KEY_USAGE_OPTIONS = Object.values(CertKeyUsageType);
|
||||
export const EXTENDED_KEY_USAGE_OPTIONS = Object.values(CertExtendedKeyUsageType);
|
||||
export const INCLUDE_TYPE_OPTIONS = Object.values(CertIncludeType);
|
||||
export const DURATION_UNIT_OPTIONS = Object.values(CertDurationUnit);
|
||||
export const SUBJECT_ATTRIBUTE_TYPE_OPTIONS = Object.values(CertSubjectAttributeType);
|
||||
Reference in New Issue
Block a user