Fixed #2376. Certificate altNames exception.

Ylian Saint-Hilaire committed Mar 11, 2021 at 01:39 UTC b68afcde6a1f025fc707bfb9409ee50db1fd5439
1 file changed +12 -3
certoperations.js
+12 -3
@@ -734,8 +734,10 @@ module.exports.CertificateOperations = function (parent) {
734 var altNames = webCertificate.getExtension('subjectAltName');
735 if (altNames) {
736 for (i = 0; i < altNames.altNames.length; i++) {
737 - var acn = altNames.altNames[i].value.toLowerCase();
738 - if (r.CommonNames.indexOf(acn) == -1) { r.CommonNames.push(acn); }
737 + if ((altNames.altNames[i] != null) && (altNames.altNames[i].type === 2) && (typeof altNames.altNames[i].value === 'string')) {
738 + var acn = altNames.altNames[i].value.toLowerCase();
739 + if (r.CommonNames.indexOf(acn) == -1) { r.CommonNames.push(acn); }
740 + }
741 }
742 }
743 var rootCertificate = obj.pki.certificateFromPem(r.root.cert);
@@ -900,7 +902,14 @@ module.exports.CertificateOperations = function (parent) {
902 }
903 r.CommonNames = [r.CommonName.toLowerCase()];
904 var altNames = webCertificate.getExtension('subjectAltName');
903 - if (altNames) { for (i = 0; i < altNames.altNames.length; i++) { r.CommonNames.push(altNames.altNames[i].value.toLowerCase()); } }
905 + if (altNames) {
906 + for (i = 0; i < altNames.altNames.length; i++) {
907 + if ((altNames.altNames[i] != null) && (altNames.altNames[i].type === 2) && (typeof altNames.altNames[i].value === 'string')) {
908 + var acn = altNames.altNames[i].value.toLowerCase();
909 + if (r.CommonNames.indexOf(acn) == -1) { r.CommonNames.push(acn); }
910 + }
911 + }
912 + }
913 var rootCertificate = obj.pki.certificateFromPem(r.root.cert);
914 r.RootName = rootCertificate.subject.getField('CN').value;
915