-
- Notifications
You must be signed in to change notification settings - Fork 33.7k
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.