Nachdem überprüft wurde, ob das Zertifikat von einer bekannten Zertifizierungsstelle ausgestellt wurde, werden die alternativen Antragstellernamen oder der allgemeine Name überprüft, um sicherzustellen, dass der Hostname übereinstimmt. Dies ist in der Funktion checkServerIdentity . Wenn das Zertifikat alternative Betreffnamen enthält und der Hostname nicht aufgeführt ist, wird die beschriebene Fehlermeldung angezeigt:
Hostname / IP stimmt nicht mit den Altnamen des Zertifikats überein
Wenn Sie über das CA-Zertifikat verfügen, mit dem das von Ihnen verwendete Zertifikat generiert wird (normalerweise bei Verwendung von selbstsignierten Zertifikaten), kann dies bereitgestellt werden
var r = require('request');
var opts = {
method: "POST",
ca: fs.readFileSync("ca.cer")
};
r('https://api.dropbox.com', opts, function (error, response, body) {
});
Dadurch wird überprüft, ob das Zertifikat von der bereitgestellten Zertifizierungsstelle ausgestellt wurde. Die Überprüfung des Hostnamens wird jedoch weiterhin durchgeführt. Die Angabe der Zertifizierungsstelle reicht aus, wenn das Zertifikat den Hostnamen in den alternativen Betreffnamen enthält. Wenn dies nicht der Fall ist und Sie auch die Überprüfung des Hostnamens überspringen möchten, können Sie eine Noop-Funktion für übergebencheckServerIdentity
var r = require('request');
var opts = {
method: "POST",
ca: fs.readFileSync("ca.cer"),
agentOptions: { checkServerIdentity: function() {} }
};
r('https://api.dropbox.com', opts, function (error, response, body) {
});