node-openssl-verify-cert-updated
Version:
Verify certificates with openssl
118 lines (112 loc) • 6.56 kB
JavaScript
var should = require("should");
describe("Addon", function() {
var addon = require("../build/Release/addon");
it("should return 1 if certificates are valid", function(done) {
var ca = `-----BEGIN CERTIFICATE-----
MIIEljCCAn4CCQC7mWYiBm7TUDANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJE
RTAeFw0yMDA0MTUxMTIzMzZaFw0yMzAyMDMxMTIzMzZaMA0xCzAJBgNVBAYTAkRF
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArNipcO5w9I6hV/ryyjEO
LSQJ2XzYus8vUQn8q5FIHRTnkLKPW3ti4ssFto7szH0Vj4lRTotie1uATgasviVT
wdK22WKaMFbCNKFOC5NA0rWHZfaYpT1Uzmd/AxzoFHf4UxaoOepGKN+NGXZw7Zw7
5oXpxsNebiImGAHg5a3r9kpcOCxZC/qoLYaF7fAGvSBach2R2hh2EBOSlueArmb9
5SQbMT0z3ZEH+VKiuET/RdliNhv8lSshQChgvrmAX3llMJofLr3IF8YYrBuAVRJj
j4wIZ140W0X79AExaH0xY1r+Ybp4F6AAhYS/ARBC85Nu7OeqRPHvD7UymBCTsUGB
5FS5Q+kO2UbyD349WzS36hAd14VfjiXQU9SkE9IQQDVItwvr7AlM9EE1u9Zo6Yfi
mIx6GZT0abnjXp65OQ3fP22iByxIpAa1Wsem7DJO2OcoH/g+HBySqSHYerQ/Th1s
KfXFprYyfMXkEC1G7OHc7AtUPgpVMiHE7eXUoUYcie7TOgbjH7c31rtX2Dh92u0F
ea+NHG1GC+QIo5s5XvqM19wmbWnch2nFvNxGtDOJWRDY6ukEUpoNv4kehIxvqdy7
6RglBD8WGWeAUPlML8qJGGpjUy3y4Oox0btifP/I3qWgGpGlrFiyZowLgNZKLlOz
B9yj3MqVIIkBwO/zW44/ImUCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAGmD4TJmJ
FyeY8kwvbgj78S6p5I6q5U6A/iqz0KQHnf5SRLbAl5IYEeT1yjhbe8nt3Z4jLPT+
ENKgcyg67zvypMuXrSQfJ3UQyHp2AYcoE0cFsPNz/4dCeAJ5YS3I+sWRNkkzWx+B
DtV1UP8btsTKjB1CncL3uQ/r63NnNRj0KnCwCRdM7Y0w/q/bvgu/QSMNNY5iwajo
YBLBebcII1LebRoQ/ADjJHFInxFdpyMVdytnSTmhZh2+fP9Fehsu527aRT75QLJY
uzv1gylZR9+0ItmTsjDP87ht09cHWiIuVXoU0AWQQ/wzqc7QTv0j+8MbYVbJux9M
Tb0XwOHkkGuDTwbSC5wQA5/XBuzzQRYXIJtGfSCUVMqq5QP+VYpyp+IO3TI2/ADf
HJK8LQGTpLEz+QBKI8r7p3aYjPkaZwXPYup49koVOlrS2E7FL9k7mcHsvcEEw5DM
bNiUcBN0eIrOY6gnwTIbDe626/gNwULnUs9IpE7yiecHnyQxJL0o7/XDg3TwbOkd
5CccVAoLPQ83+0d4z/YLAZhNej0/vGdQS7gH2M52YjKlqSsrVV0If5WFjLzR3PS7
fa1ohTR0Py1pPupFf7yWoDATpqFHIy8OpZQEshaNEhFnUNCusWa0wguI5PD8ryrt
dmhZn63sQ/l3zDzSlAE/G/yz3otRccmKEnI=
-----END CERTIFICATE-----`;
var cert = `-----BEGIN CERTIFICATE-----
MIID0DCCAbgCCQDmMy7ACQYw0zANBgkqhkiG9w0BAQsFADANMQswCQYDVQQGEwJE
RTAeFw0yMDA0MTUxMTI3NTVaFw0yMTA4MjgxMTI3NTVaMEcxCzAJBgNVBAYTAlVT
MQswCQYDVQQIDAJDQTEUMBIGA1UECgwLTXlPcmcsIEluYy4xFTATBgNVBAMMDG15
ZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANEB0ycy
9SD9RJV6JSuCJ/+w9IJW2q99wDWzNbiNwFzxePDkFn1FV6lGicOlmfBz812Lz962
XT1WKEpSNeY/z04r8v5R6YOQ8tVJQNFdyhiRRvYwOoUNkNyxufM4T+vnOHvDh12d
j/76sH1BZQl+OHADrFHafwjgrWYvcuvhcWesFUzCqqY6LekD/fh5U5y4KUwspcZl
GZRVfNB6r5tHYX65kVZB+MZs5Jr8MVVNHyrXwkVkIY+XE3WdszlWWD4bEdCy+S8Y
20Lv17MebImv8QCAgvfNai7kwy5OYxqKQiHeTkbyBeJlHQ/gzGF8bZtq2FRjubFD
KdTs3x26rGR1zsECAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAWgt4ch44rKupW1kj
0jvy8ViNg4itakGTOzP4jl/sJLo6gz77zOaKdHx0XI0x0S+xgars/0bXFMxdZZPa
2WD6SV1kBFOM/p3+wm6WLpKKTK7bnUmoB5ig7IovjZtNtcSLaRuzdkX91gejg1xM
4WFZAaaUI9Xe87Qtm3XbIYMoY+Fpsk1SKgAxw0PtysVFJAkI2Vl2+tfIb5PguHK+
TKUKan7cn9jWNRot7ylmk7XpR4OkNzkICwswDlrUrxqsiXirDki0A70FtY4DcxM3
bcBv0ZrdvojI69DhXzCHMeBPge/RB1cMzYAsVDcAO1Fs2G9iMdNotYycV44j0MiC
DjgvtPIqGANjPPSyQPF9vW4sWOKcCUBIlcT4fz3cgKjFGnW4SHKqYtNNJ5KFiwWp
UjRlwjgnvrfpRcSTwxZSeEgsrbMPJi/YEPrGKJxoxP4DKw8ttokY+VAQCyTPF3Iz
NOUeNFjs9kqiPlYFG+OEG2Zqj2/TrGmpjLsgVbSX/UCF+tlAgWQrc70OH0PlDgrk
7vRMDujCafh7uTlhpgZ7+wa4gm/ek2VBo8Eslvg9I2PW6eHCBJ72haA3yoxLK6/E
M8hXP1AQSMh3L/vxmPigbhK+L3/JD+1csjdrPADCufN+piPJNrCVhiBPdnOUggSC
CK5w0S9unWoNxfo2TZcJ0Aepl7E=
-----END CERTIFICATE-----`;
addon.verifyCert(cert, ca,function(err,ret){
should(err).be.Null();
ret.should.equal(1);
done();
});
});
it("should return 0 if cert is not valid", function(done) {
var ca = "-----BEGIN CERTIFICATE-----\n"+
"MIID1TCCAr2gAwIBAgIJAOIlWeuu3sr4MA0GCSqGSIb3DQEBCwUAMIGAMQswCQYD\n"+
"VQQGEwJDTjESMBAGA1UECAwJR3Vhbmdkb25nMRIwEAYDVQQHDAlHdWFuZ3pob3Ux\n"+
"DDAKBgNVBAoMA0daQzELMAkGA1UECwwCSVQxCzAJBgNVBAMMAkNBMSEwHwYJKoZI\n"+
"hvcNAQkBFhJiZWV2ZW5AaG90bWFpbC5jb20wHhcNMTYwMTExMDcwNTI2WhcNMTYw\n"+
"MjEwMDcwNTI2WjCBgDELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nZG9uZzES\n"+
"MBAGA1UEBwwJR3Vhbmd6aG91MQwwCgYDVQQKDANHWkMxCzAJBgNVBAsMAklUMQsw\n"+
"CQYDVQQDDAJDQTEhMB8GCSqGSIb3DQEJARYSYmVldmVuQGhvdG1haWwuY29tMIIB\n"+
"IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwAkNrr9lBSDG6bqnbK1WGllj\n"+
"E8ipVjY0GAYmqRFpldtdISxFjSYDSpoT5fofXNw5YffvU2lWSJ0hQ73YLpw5cWwv\n"+
"mMvFzwTV+ZhsF4aK6U7BPzsRibDtCPjFzTOpfrVAdpkYfNxg4KhNoSII/CT0M1J0\n"+
"d05jpMfnNANL64MDOsLC/U7hAsi/V3btjvtb7tHC7gnCJz4XecyaN6ciFh8w8Wpg\n"+
"a8U5qQOj6JQ8tt2ALle0OtCZ9xcqM8KkBIxG2mZA1UziGrrvfdFURsd/Fsavx5rH\n"+
"rf1dIXyiCm4wWeUY2+VzIc1rMeVQsh+BjWkwxzpk+nJ/SOPyMTtXIrnlOSE8WQID\n"+
"AQABo1AwTjAdBgNVHQ4EFgQUtFJswL4BCU955Ga3PGZ5ubBuso8wHwYDVR0jBBgw\n"+
"FoAUtFJswL4BCU955Ga3PGZ5ubBuso8wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B\n"+
"AQsFAAOCAQEAeiDIl/IHpUmK8NI8AW+dS7OYA9R2ke5IRwKtcEh9HHG/Y8WC2n5e\n"+
"B12ZqlJEi/vK5dUzAeVHvrpl6L7Gb65TfxeeL/RppMK5yOB24N1CPsJ10lIxt+QF\n"+
"fFixECcFojl2/AwFf7lEIwGeNKVsOByni3qw+tWhDncD4JBTd2usOCYHZf90bQN4\n"+
"w+Oo0W5lMHWHT+DGwu575k6K3/nLxzPHYLLKofVxwt2ra6uvqQBbQq+hQNJ/8Myx\n"+
"J41OlbMrajDFqGkJXSH8nzzNHqzLydrvS+pL7gFMf5xtDs+ufqKKCawiuA58b1vn\n"+
"OgvUXEjwi7vaipA2uDYw5+dQvuBkTNaKww=="+
"\n-----END CERTIFICATE-----";
var cert = "-----BEGIN CERTIFICATE-----\n"+
"MIIDejCCAmICAQEwDQYJKoZIhvcNAQELBQAwgYAxCzAJBgNVBAYTAkNOMRIwEAYD\n"+
"VQQIDAlHdWFuZ2RvbmcxEjAQBgNVBAcMCUd1YW5nemhvdTEMMAoGA1UECgwDR1pD\n"+
"MQswCQYDVQQLDAJJVDELMAkGA1UEAwwCQ0ExITAfBgkqhkiG9w0BCQEWEmJlZXZl\n"+
"bkBob3RtYWlsLmNvbTAeFw0xNjAxMTEwNzA5MjRaFw0xNjAyMTAwNzA5MjRaMIGE\n"+
"MQswCQYDVQQGEwJDTjESMBAGA1UECAwJR3Vhbmdkb25nMRIwEAYDVQQHDAlHdWFu\n"+
"Z3pob3UxDDAKBgNVBAoMA0daQzELMAkGA1UECwwCSVQxDzANBgNVBAMMBlNlcnZl\n"+
"cjEhMB8GCSqGSIb3DQEJARYSYmVldmVuQGhvdG1haWwuY29tMIIBIjANBgkqhkiG\n"+
"9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuF5DGz5pCniKcOWpJGXiTrZz030ixko4ztFF\n"+
"LF+RIYyE78ux62UuTgWIJdVrriPutwNNkYqYBj5E+tEEjyOIx7C6qZGmRQp5Gp6E\n"+
"V9i2SipA/0Jr0CFN+M1hdOG8LyIxv/LNxoHQeT9pIGdKqGd5qrTQ4UiyeEb+Qzjb\n"+
"Dr73rFRAwQuClPGARcWQRWQ8x2PrcDPeF6IvqmvGu1v4v9PxEkkUzM322F7fCNoC\n"+
"aWl4u1A1ayq5dewm7LzNY5JVhqtTJaMacc2I9yntsf7bytx91soKO2+xFoNNSjbY\n"+
"xsCFUF0XEOTEyPZLFyx3qrXIQY79/Pi20n5bHZuBgTGsd5ESrwIDAQABMA0GCSqG\n"+
"SIb3DQEBCwUAA4IBAQAfHjiyC35/xJDD6SzwXn7wIYUq0xyCXuNnYPvmIUwOJibC\n"+
"7feMriVL8P/HWDjef8EX/cDEDgUnDTGcPYR3e3pO3idroFWFkNGgpHyUX1c+g3Xt\n"+
"21ShU0M1R6azEtJV9UN7W/xpBkuv9FJsYDof/7TK9g0uuXgsCK2501ln2jEXEB/+\n"+
"GB+bZMbLuzQkKQXIFqZz1SktYU+VyT+4OIvolBytfUhNUSztt7YcxuLVsXoiBzFh\n"+
"87g2I+8TEPDWyebSWoyWP70g/42zmNybel+snjlYIjSM10HM4jJg4yQYu4xe/t4m\n"+
"bnpNaaue+EKc79B25yIJdxLIw03CcreT6ROArgnr"+
"\n-----END CERTIFICATE-----";
addon.verifyCert(cert, ca,function(err,ret){
ret.should.equal(0);
err.should.not.be.Null();
done()
});
});
})