summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/server/src/helpers/validateCertificatePath.ts19
1 files changed, 16 insertions, 3 deletions
diff --git a/packages/server/src/helpers/validateCertificatePath.ts b/packages/server/src/helpers/validateCertificatePath.ts
index 99923fb..d60a961 100644
--- a/packages/server/src/helpers/validateCertificatePath.ts
+++ b/packages/server/src/helpers/validateCertificatePath.ts
@@ -86,11 +86,17 @@ async function _validatePath(certificates: string[]): Promise<boolean> {
const now = new Date(Date.now());
if (notBefore > now || notAfter < now) {
if (isLeafCert) {
- throw new Error('Leaf certificate is not yet valid or expired');
+ throw new CertificateNotYetValidOrExpired(
+ `Leaf certificate is not yet valid or expired: ${issuerPem}`
+ );
} else if (isRootCert) {
- throw new Error('Root certificate is not yet valid or expired');
+ throw new CertificateNotYetValidOrExpired(
+ `Root certificate is not yet valid or expired: ${issuerPem}`
+ );
} else {
- throw new Error(`Intermediate certificate at index ${i} is not yet valid or expired`);
+ throw new CertificateNotYetValidOrExpired(
+ `Intermediate certificate is not yet valid or expired: ${issuerPem}`
+ );
}
}
@@ -122,3 +128,10 @@ class InvalidSubjectAndIssuer extends Error {
this.name = 'InvalidSubjectAndIssuer';
}
}
+
+class CertificateNotYetValidOrExpired extends Error {
+ constructor(message: string) {
+ super(message);
+ this.name = 'CertificateNotYetValidOrExpired';
+ }
+}