-
-
Notifications
You must be signed in to change notification settings - Fork 32.2k
Closed
Labels
httpsIssues or PRs related to the https subsystem.Issues or PRs related to the https subsystem.tlsIssues and PRs related to the tls subsystem.Issues and PRs related to the tls subsystem.
Description
Version: v11.2.0
Platform: Linux xps15 4.19.2-arch1-1-ARCH #1 SMP PREEMPT Tue Nov 13 21:16:19 UTC 2018 x86_64 GNU/Linux
Subsystem: https, tls
I am trying to get https client certificate authentication to work but I get the following error:
_tls_wrap.js:620
this.alpnProtocol = this._handle.getALPNNegotiatedProtocol();
^
TypeError: Cannot read property 'getALPNNegotiatedProtocol' of null
at TLSSocket._finishInit (_tls_wrap.js:620:36)
at TLSWrap.onhandshakedone (_tls_wrap.js:101:9)
code:
const https = require('https');
const fs = require('fs');
// Some valid paths to CA files
const crtPath = process.env.CA_CERT_PATH || "/var/run/secrets/certs/ca.crt";
const keyPath = process.env.CA_CERT_KEY || "/var/run/secrets/certs/ca.key";
const options = {
key: fs.readFileSync(keyPath),
cert: fs.readFileSync(crtPath),
requestCert: true,
};
https.createServer(options, (req, res) => {
res.writeHead(200);
res.end("hello world\n");
}).listen(8443);
when I set requestCert: false
in the options it works fine, but I need the client to present a certificate, thus need the requestCert: true
.
Edit:
Adding rejectUnauthorized: false
makes it work. But I still think that it should not throw an error when rejecting unauthorized clients.
Metadata
Metadata
Assignees
Labels
httpsIssues or PRs related to the https subsystem.Issues or PRs related to the https subsystem.tlsIssues and PRs related to the tls subsystem.Issues and PRs related to the tls subsystem.