title: Node.js error with SSL UNABLE_TO_VERIFY_LEAF_SIGNATURE
body: <p>System: Windows 7</p>
  
  <p>NodeJS version: 0.10.2</p>
  
  <p>WS module: ws, last version</p>
  
  <p>Error:</p>
  
  <pre>
  events.js:72
          throw er; // Unhandled 'error' event
                ^
  Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
      at SecurePair. (tls.js:1283:32)
      at SecurePair.EventEmitter.emit (events.js:92:17)
      at SecurePair.maybeInitFinished (tls.js:896:10)
      at CleartextStream.read [as _read] (tls.js:430:15)
      at CleartextStream.Readable.read (_stream_readable.js:294:10)
      at EncryptedStream.write [as _write] (tls.js:344:25)
      at doWrite (_stream_writable.js:211:10)
      at writeOrBuffer (_stream_writable.js:201:5)
      at EncryptedStream.Writable.write (_stream_writable.js:172:11)
      at write (_stream_readable.js:547:24)
  </pre>
  
  <p>Server:</p>
  
  <pre><code>(function(){
  
      "use strict";
  
      var fs = require('fs');
  
      // you'll probably load configuration from config
      var cfg = {
          ssl: true,
          port: 8080,
          ssl_key: 'crt/server1.key',
          ssl_cert: 'crt/server1.crt'
      };
  
      var httpServ = require('https') 
  
      var WebSocketServer   = require('ws').Server;
  
      var app      = null;
  
      // dummy request processing
      var processRequest = function( req, res ) {
  
          res.writeHead(200);
          res.end("All glory to WebSockets!\n");
      };
  
      if ( cfg.ssl ) {
  
          app = httpServ.createServer({
  
              // providing server with  SSL key/cert
              key: fs.readFileSync( cfg.ssl_key ),
              cert: fs.readFileSync( cfg.ssl_cert ),
              //requestCert: true,
              //rejectUnauthorized: false
  
          }, processRequest ).listen( cfg.port );
  
      } else {
  
          app = httpServ.createServer( processRequest ).listen( cfg.port );
      }
  
      // passing or reference to web server so WS would knew port and SSL capabilities
      var wss = new WebSocketServer( { server: app } );
  
  
      wss.on( 'connection', function ( wsConnect ) {
  
          wsConnect.on( 'message', function ( message ) {
  
              console.log( message );
  
          });
  
      });
  
  
  }());
  </code></pre>
  
  <p>Client:</p>
  
  <pre><code>var WebSocket = require('ws');
  var ws = new WebSocket('wss://localhost:8080');
  ws.on('open', function() {
      ws.send('something');
  });
  </code></pre>
  
  <p>The certificate confirmed.</p>
  
  <p>Help> please!</p>