Hallo zusammen,
Ich habe folgenden node.js code:
Folgende Fehlermeldung kommt bei der Ausführung:
Es scheint irgendetwas mit der Entschlüsselung beim Key nicht zu stimmen. Also liegt es an openssl.
Habe aber keine Idee was ich nun machen muss.
Vielleicht kann hier jemand helfen?
Betriebssystem ist Windows Server 2012 R2, node.js ist neu installiert.
Habe es aber auch schon auf einem Linux probiert --> selbes ergebnis.
Vielen Dank im Voraus.
Edit: Key und Cert lassen sich mit dem Editor ganz normal öffnen, und schauen auch ziemlich "normal" für mich aus.
Zertifikat wurde wie folgt erstellt:
Es wurde für pem noch ein Passwort vergeben. Könnte es daran liegen? Wenn ja, wie kann ich das beim key in node.js einbinden?
Gruß,
Jörg
Ich habe folgenden node.js code:
Javascript:
const fs = require('fs');
const https = require('https');
const WebSocketS = require('ws');
var cfg = {
port: 3301,
portssl: 3302,
ssl_key: 'G:/inetpub/wwwroot/ewp-dev.domain.com/websocket-server/cert/ewp-dev.doamin.com.key',
ssl_cert: 'G:/inetpub/wwwroot/ewp-dev.domain.com/websocket-server/cert/S00024EJ_ewp-dev.doamin.com.cer'
};
const https_app = require("express")();
https_app.get('/', (req, res) => {
res.send('Hello World!');
});
console.log(fs.readFileSync(cfg.ssl_cert, 'utf8'));
console.log(fs.readFileSync(cfg.ssl_key, 'utf8'));
const serverS = https.createServer({
cert: fs.readFileSync(cfg.ssl_cert, 'utf8'),
key: fs.readFileSync(cfg.ssl_key, 'utf8')
}, https_app);
const wss = new WebSocketS.Server({ serverS });
wss.on('connection', socket => {
socket.on('message', data => {
const jsondata = JSON.parse( data );
if( typeof(jsondata.clientname) !== 'undefined'){
socket.clientname = jsondata.clientname;
}
else{
SendToClientsWs(jsondata);
}
console.log((new Date()) + "Client connected:" + data);
});
});
Folgende Fehlermeldung kommt bei der Ausführung:
Code:
_tls_common.js:151
c.context.setKey(key, passphrase);
^
Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
←[90m at Object.createSecureContext (_tls_common.js:151:17)←[39m
←[90m at Server.setSecureContext (_tls_wrap.js:1155:27)←[39m
←[90m at Server (_tls_wrap.js:1033:8)←[39m
←[90m at new Server (https.js:65:14)←[39m
←[90m at Object.createServer (https.js:89:10)←[39m
at Object.<anonymous> (G:\inetpub\wwwroot\ewp-dev.domain.com\websocket-serv
er\test.js:21:23)
←[90m at Module._compile (internal/modules/cjs/loader.js:959:30)←[39m
←[90m at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10
)←[39m
←[90m at Module.load (internal/modules/cjs/loader.js:815:32)←[39m
←[90m at Function.Module._load (internal/modules/cjs/loader.js:727:14)←[39m {
opensslErrorStack: [
←[32m'error:0907B00D:PEM routines:PEM_read_bio_PrivateKey:ASN1 lib'←[39m,
←[32m'error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe cryp
t error'←[39m,
←[32m'error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal err
or'←[39m
],
library: ←[32m'digital envelope routines'←[39m,
function: ←[32m'EVP_DecryptFinal_ex'←[39m,
reason: ←[32m'bad decrypt'←[39m,
code: ←[32m'ERR_OSSL_EVP_BAD_DECRYPT'←[39m
}
Es scheint irgendetwas mit der Entschlüsselung beim Key nicht zu stimmen. Also liegt es an openssl.
Habe aber keine Idee was ich nun machen muss.
Vielleicht kann hier jemand helfen?
Betriebssystem ist Windows Server 2012 R2, node.js ist neu installiert.
Habe es aber auch schon auf einem Linux probiert --> selbes ergebnis.
Vielen Dank im Voraus.
Edit: Key und Cert lassen sich mit dem Editor ganz normal öffnen, und schauen auch ziemlich "normal" für mich aus.
Zertifikat wurde wie folgt erstellt:
openssl req -new -newkey rsa:2048 -sha256 -out ewp-dev.domain.com.csr -keyout ewp-dev.domain.com.key -subj "/C=DE/ST=Bayern/L=Stadt/O=Firma/OU=DI FA APS MF/CN=ewp-dev.domain.com/emailAddress=hans.mustermax@domain.com"
Es wurde für pem noch ein Passwort vergeben. Könnte es daran liegen? Wenn ja, wie kann ich das beim key in node.js einbinden?
Gruß,
Jörg
Zuletzt bearbeitet: