This module is a validator for SSL Certificates using the PEM node module. You can validate SSL Keys, SSL Certificates, SSL Certificate Domains, SSL Certificate Bundles, etc.
npm install ssl-validatoror
yarn add ssl-validatorAll of these functions will throw an error if something is invalid, except the isValid functions, which will return true or false.
import { validateSSL } from 'ssl-validator';
await validateSSL(cert, options);| Option | Type | Default | Description |
|---|---|---|---|
| skipDateValidation | Boolean | false | Skip verifying the certificate's and/or bundle's validity period. |
| key | String | When given, validates that the key and certificate are a pair. | |
| domain | String | When given, verifies the certificate is valid for this domain. e.g. 'github.com' |
|
| bundle | String | When given, verifies the certificate bundle and certificate go together. | |
| skipFormatValidation | Boolean | false | When true skip validation the format of the certificate and the key. |
| password | String | A password that will be given to openssl when verifying the key. |
This function validates that the certificate is an SSL certificate and checks the validity period.
import { validateSSLCert } from 'ssl-validator';
await validateSSLCert(cert, options);| Option | Type | Default | Description |
|---|---|---|---|
| skipDateValidation | Boolean | false | Skip verifying the given certificate's validity period. |
| skipFormatValidation | Boolean | false | When true, skip validation the format of the certificate. |
This function validates that the certificate is an SSL certificate and checks the validity period.
import { validateSSLKey } from 'ssl-validator';
await validateSSLKey(key, options);| Option | Type | Default | Description |
|---|---|---|---|
| password | String | A password that will be given to openssl when verifying the key. | |
| skipFormatValidation | Boolean | false | When true, skip validation the format of the key. |
This function validates that the certificate and the bundle are certificates, and ensures that the bundle and certificate go together.
import { validateCertBundle } from 'ssl-validator';
await validateCertBundle(cert, bundle, options);| Option | Type | Default | Description |
|---|---|---|---|
| skipDateValidation | Boolean | false | Skip verifying the certificate's and/or bundle's validity period. |
| key | String | When given, validates that the key and certificate are a pair. | |
| domain | String | When given, verifies the certificate is valid for this domain. e.g. 'github.com' |
|
| skipFormatValidation | Boolean | false | When true skip validation the format of the certificate and the key. |
| password | String | A password that will be given to openssl when verifying the key. |
This function validates that the given certificate and key are a matching pair.
import { validateCertKeyPair } from 'ssl-validator';
await validateCertKeyPair(cert, key, options);| Option | Type | Default | Description |
|---|---|---|---|
| skipDateValidation | Boolean | false | Skip verifying the certificate's and/or bundle's validity period. |
| domain | String | When given, verifies the certificate is valid for this domain. e.g. 'github.com' |
|
| bundle | String | When given, verifies the certificate bundle and certificate go together. | |
| skipFormatValidation | Boolean | false | When true skip validation the format of the certificate and the key. |
| password | String | A password that will be given to openssl when verifying the key. |
This function validates the given certificate and that it matches the given domain.
import { validateCertToDomain } from 'ssl-validator');
await validateCertToDomain(cert, domain, options);| Option | Type | Default | Description |
|---|---|---|---|
| skipDateValidation | Boolean | false | Skip verifying the certificate's and/or bundle's validity period. |
| key | String | When given, validates that the key and certificate are a pair. | |
| bundle | String | When given, verifies the certificate bundle and certificate go together. | |
| skipFormatValidation | Boolean | false | When true skip validation the format of the certificate and the key. |
| password | String | A password that will be given to openssl when verifying the key. |
Each of the functions listed above (validateSSL, validateSSLCert, etc.) has a counterpart that will not throw any errors but will return true when valid and false when not valid. All arguments and options are listed above are valid.
| Original Function Name | Predicate Function Name |
|---|---|
| validateSSL | isValidSSL |
| validateSSLCert | isValidSSLCert |
| validateSSLKey | isValidSSLKey |
| validateCertBundle | isValidCertBundle |
| validateCertKeyPair | isValidCertKeyPair |
| validateCertToDomain | isValidCertToDomain |
import { isValidSSL } from 'ssl-validator';
if (!(await isValidSSL(cert))) {
return { message: 'Sorry, the certificate supplied is not valid.' };
}The module is available as open source under the terms of the MIT License.