node-openssl-verify-cert
v0.9.9
Published
Verify certificates with openssl
Downloads
9
Readme
#node-openssl-verify-cert
Verify a certificate against a trusted CA bundle.
This package utilizes OpenSSL library, rather than spawning a child process like many of other packages.
Installation
Linux
$ npm install node-openssl-verify-cert
Mac
On macOS 10.12 sierra, openssl must be install via brew. The default location of openssl is /usr/local/opt/openssl
.
$ brew install openssl
$ npm install node-openssl-verify-cert
Windows
According to https://github.com/nodejs/node-gyp/wiki/Linking-to-OpenSSL, you should have OpenSSL for Windows installed in advanced. It can be downloaded at http://slproweb.com/products/Win32OpenSSL.html. Make sure you have installed the full version which contains development libraries.
\> npm install node-openssl-verify-cert --openssl_root="C:/OpenSSL-Win64 (where openssl is installed)"
Usage
verifyCert(cert,ca,callback);
- cert: The certificate to verify in pem format, as a string.
- ca: The trusted ca bundle in pem format
- callback: A callback function with 2 arguments, e.g. function(err,result){}. If callback is null or undefined, the function returns a promise;
- err: null if verification succeeded; the reason in string if verification failed.
- result: return 1 if verification succeeded, 0 if verification failed, and -1 if there is no certificates in cert.
more examples, see unit tests.
Using callback
var fs = require("fs"),
verifier = require("node-openssl-verify-cert");
var ca = fs.readFileSync("ca.crt"),
cert = fs.readFileSync("certToVerify.crt");
verifier.verifyCert(cert,ca,function(err,result){
if(err) {
console.log("Verification failed. Reason:",err);
} else {
console.log("Success!");
}
});
Using promise
verifier.verifyCert(cert,ca)
.then(function(result){
console.log("Success!");
},function(err){
console.log("Verification failed. Reason:",err);
});
Using generator function
var co = require("co");
co(function* (){
yield verifier.verifyCert(cert1,ca);
yield verifier.verifyCert(cert2,ca);
yield verifier.verifyCert(cert3,ca);
})
.catch(function(err){
console.log("Verification failed. Reason:",err);
})