So ist der Titel ziemlich einfach. Ich möchte einen Webservice von einer Firma konsumieren und habe .cer und .p12 Dateien. Angeblich sollte ich .p12 verwenden, wenn ich eine Anfrage mache. Ich habe .cer in Windows importiert und ich kann Anfragen mit Postboten leicht machen. Aber wenn ich versuche, eine Anfrage mit node.js zu machen, bekomme ich Fehler. Hier ist der Code, ich verwende request
Modul:Nodejs Anfrage an einen Web-Service mit .p12-Zertifikat
var headersOpt = {
"content-type": "application/json",
};
var options = {
url: 'https://some-url/api',
cert: fs.readFileSync(__dirname + '/certs/myCert.p12'),
headers: headersOpt
};
request.get(options, (error, response, body) => {
console.log(error);
console.log(response);
console.log(body);
});
ich diesen Fehler:
{ Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Object.createSecureContext (_tls_common.js:89:17)
at Object.exports.connect (_tls_wrap.js:1048:48)
at Agent.createConnection (https.js:111:22)
at Agent.createSocket (_http_agent.js:224:26)
at Agent.addRequest (_http_agent.js:192:10)
at new ClientRequest (_http_client.js:256:16)
at Object.request (http.js:39:10)
at Object.request (https.js:239:15)
at Request.start (D:\parser\node_modules\request\request.js:748:32)
at Request.end (D:\parser\node_modules\request\request.js:1512:10)
opensslErrorStack:
[ 'error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib' ] }
tha Nein, das hat das Problem gelöst. es hat immer noch nicht funktioniert, und ich habe diese Version ein paar Mal zuvor versucht, aber dann dachte ich, ich habe das falsche Passwort bekommen. Wie auch immer, danke, dass du auf die richtige Vorgehensweise hingewiesen hast, damit ich mich auf andere Dinge konzentrieren kann, anstatt verschiedene Kombinationen auszuprobieren! – uglycode