title: My node.js https client always works regardless of certificate validity
body: <p>This test program connects to an https server and gets some content. I've checked my server in browsers and with curl and the certificate is working correctly. If I run curl to grab data from the server it correctly complains about the certificate being unknown unless I pass it in with --cacert or turn security off with -k. </p>
  
  <p>So the problem I am having is that although I think my client should be doing certificate authentication and I am telling it where the public certificate is, it just always works. If I remove the ca: option so it has no idea what the certificate is from the server then it silently works. I would like to catch the authentication error but I can't seem to do so.</p>
  
  <pre><code>var https = require('https');
  var fs = require('fs');
  
  function main() {
  
        var data = '';
  
        var get = https.get({
          path: '/',
          host: 'localhost',
          port: 8000,
          agent: false,
          ca: [ fs.readFileSync('https_simple/cacert.pem') ]
  
        }, function(x) {
  
          x.setEncoding('utf8');
          x.on('data', function(c) {data += c});
          x.on('error', function(e) {
            throw e;
          });
          x.on('end', function() {
            console.log('Hai!. Here is the response:');
            console.log(data);
          });
  
        });
  
        get.on('error', function(e) {throw e});
  
        get.end();
  
      }
  
  main();
  </code></pre>