diff options
author | Matthew Miller <matthew@millerti.me> | 2022-02-09 22:51:02 -0800 |
---|---|---|
committer | Matthew Miller <matthew@millerti.me> | 2022-02-09 22:53:38 -0800 |
commit | 60e1810a54c2b2d6031cb0d40ded7653f689ef35 (patch) | |
tree | b14c94b0c7a8efc30cd88aaca47b520ade67a54b | |
parent | 5f6fdbd654ca981669a5a6d72ad952a9c00e903c (diff) |
Throw new CertificateNotYetValidOrExpired error
-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'; + } +} |