From 044ff67bc675c61ecafcf4f4c101f68c904f82d1 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Fri, 31 Aug 2018 16:43:09 -0700 Subject: [PATCH] Fixed certificate loading issue. --- certoperations.js | 4 ++-- package.json | 2 +- webserver.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/certoperations.js b/certoperations.js index ae9541bf..6c3c827f 100644 --- a/certoperations.js +++ b/certoperations.js @@ -187,7 +187,7 @@ module.exports.CertificateOperations = function () { // Look for domains that have DNS names and load their certificates r.dns = {}; - for (i = 0; i < config.domains.length; i++) { + for (i in config.domains) { if ((i != "") && (config.domains[i] != null) && (config.domains[i].dns != null)) { dnsname = config.domains[i].dns; if (args.tlsoffload === true) { @@ -353,7 +353,7 @@ module.exports.CertificateOperations = function () { r = { root: { cert: rootCertificate, key: rootPrivateKey }, web: { cert: webCertificate, key: webPrivateKey, ca: [] }, mps: { cert: mpsCertificate, key: mpsPrivateKey }, agent: { cert: agentCertificate, key: agentPrivateKey }, console: { cert: consoleCertificate, key: consolePrivateKey }, ca: calist, CommonName: commonName, RootName: rootName, AmtConsoleName: amtConsoleName, AmtMpsName: mpsCommonName, dns: {}, WebIssuer: webIssuer }; // Look for domains with DNS names that have no certificates and generated them. - for (i = 0; i < config.domains.length; i++) { + for (i in config.domains) { if ((i != "") && (config.domains[i] != null) && (config.domains[i].dns != null)) { dnsname = config.domains[i].dns; if (args.tlsoffload != true) { diff --git a/package.json b/package.json index 06a817b2..ac820c8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.1.9-w", + "version": "0.1.9-z", "keywords": [ "Remote Management", "Intel AMT", diff --git a/webserver.js b/webserver.js index 098b71bc..00e8fe10 100644 --- a/webserver.js +++ b/webserver.js @@ -104,7 +104,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { // Perform hash on web certificate and agent certificate obj.webCertificateHash = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOperations.forge.pki.certificateFromPem(obj.certificates.web.cert).publicKey, { md: parent.certificateOperations.forge.md.sha384.create(), encoding: 'binary' }); obj.webCertificateHashs = { '': obj.webCertificateHash }; - for (i in obj.parent.config.domains) { if (obj.parent.config.domains[i].dns != null) { obj.webCertificateHashs[i] = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOperations.forge.pki.certificateFromPem(obj.parent.config.domains[i].certs.cert).publicKey, { md: parent.certificateOperations.forge.md.sha384.create(), encoding: 'binary' }); } } + for (var i in obj.parent.config.domains) { if (obj.parent.config.domains[i].dns != null) { obj.webCertificateHashs[i] = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOperations.forge.pki.certificateFromPem(obj.parent.config.domains[i].certs.cert).publicKey, { md: parent.certificateOperations.forge.md.sha384.create(), encoding: 'binary' }); } } obj.webCertificateHashBase64 = new Buffer(parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOperations.forge.pki.certificateFromPem(obj.certificates.web.cert).publicKey, { md: parent.certificateOperations.forge.md.sha384.create(), encoding: 'binary' }), 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$'); obj.agentCertificateHashHex = parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOperations.forge.pki.certificateFromPem(obj.certificates.agent.cert).publicKey, { md: parent.certificateOperations.forge.md.sha384.create(), encoding: 'hex' }); obj.agentCertificateHashBase64 = new Buffer(parent.certificateOperations.forge.pki.getPublicKeyFingerprint(parent.certificateOperations.forge.pki.certificateFromPem(obj.certificates.agent.cert).publicKey, { md: parent.certificateOperations.forge.md.sha384.create(), encoding: 'binary' }), 'binary').toString('base64').replace(/\+/g, '@').replace(/\//g, '$');