UNPKG

sslko

Version:

A simple tool to check SSL/TLS certificate information for a given domain.

54 lines (53 loc) 2.38 kB
/** * Enum for certificate error codes. * These codes are used to identify specific errors that can occur when fetching SSL/TLS certificates. * @see https://nodejs.org/api/tls.html#x509-certificate-error-codes */ export const CertificateErrorCode = { TIMEOUT: "TIMEOUT", INVALID_PORT: "INVALID_PORT", CERT_ERROR: "CERT_ERROR", MISSING_CERTIFICATE: "MISSING_CERTIFICATE", // default error codes from Node.js TLS module UNABLE_TO_GET_ISSUER_CERT: "UNABLE_TO_GET_ISSUER_CERT", UNABLE_TO_GET_CRL: "UNABLE_TO_GET_CRL", UNABLE_TO_DECRYPT_CERT_SIGNATURE: "UNABLE_TO_DECRYPT_CERT_SIGNATURE", UNABLE_TO_DECRYPT_CRL_SIGNATURE: "UNABLE_TO_DECRYPT_CRL_SIGNATURE", UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: "UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY", CERT_SIGNATURE_FAILURE: "CERT_SIGNATURE_FAILURE", CRL_SIGNATURE_FAILURE: "CRL_SIGNATURE_FAILURE", CERT_NOT_YET_VALID: "CERT_NOT_YET_VALID", CERT_HAS_EXPIRED: "CERT_HAS_EXPIRED", CRL_NOT_YET_VALID: "CRL_NOT_YET_VALID", CRL_HAS_EXPIRED: "CRL_HAS_EXPIRED", ERROR_IN_CERT_NOT_BEFORE_FIELD: "ERROR_IN_CERT_NOT_BEFORE_FIELD", ERROR_IN_CERT_NOT_AFTER_FIELD: "ERROR_IN_CERT_NOT_AFTER_FIELD", ERROR_IN_CRL_LAST_UPDATE_FIELD: "ERROR_IN_CRL_LAST_UPDATE_FIELD", ERROR_IN_CRL_NEXT_UPDATE_FIELD: "ERROR_IN_CRL_NEXT_UPDATE_FIELD", OUT_OF_MEM: "OUT_OF_MEM", DEPTH_ZERO_SELF_SIGNED_CERT: "DEPTH_ZERO_SELF_SIGNED_CERT", SELF_SIGNED_CERT_IN_CHAIN: "SELF_SIGNED_CERT_IN_CHAIN", UNABLE_TO_GET_ISSUER_CERT_LOCALLY: "UNABLE_TO_GET_ISSUER_CERT_LOCALLY", UNABLE_TO_VERIFY_LEAF_SIGNATURE: "UNABLE_TO_VERIFY_LEAF_SIGNATURE", CERT_CHAIN_TOO_LONG: "CERT_CHAIN_TOO_LONG", CERT_REVOKED: "CERT_REVOKED", INVALID_CA: "INVALID_CA", PATH_LENGTH_EXCEEDED: "PATH_LENGTH_EXCEEDED", INVALID_PURPOSE: "INVALID_PURPOSE", CERT_UNTRUSTED: "CERT_UNTRUSTED", CERT_REJECTED: "CERT_REJECTED", HOSTNAME_MISMATCH: "HOSTNAME_MISMATCH", }; /** * Custom error class for handling certificate-related errors. */ export class CertificateError extends Error { code; constructor(message, code = CertificateErrorCode.CERT_ERROR) { super(message); this.name = "CertificateError"; this.code = code; // Fix the prototype chain (important for instanceof checks) Object.setPrototypeOf(this, CertificateError.prototype); } }