diff options
Diffstat (limited to 'packages/server/src/helpers/validateCertificatePath.ts')
-rw-r--r-- | packages/server/src/helpers/validateCertificatePath.ts | 19 |
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'; + } +} |