node.js + socket.ioで、SSL通信。

websocketでもSSL使えるみたいなので、やってみます。
てか、https:なページ内から非SSLな通信(ws:)で通信しようとすると、つながらないので、SSL通信(wss:)に変更します。

// 非SSL(ws:)
var io = require('socket.io').listen( 5000 );
// SSL(wss:)
var fs = require('fs');
var io = require('socket.io').listen( 5000 , {
    key: fs.readFileSync('/home/hogehoge/client.key').toString(),
    cert: fs.readFileSync('/home/hogehoge/client.cert').toString(),
    ca: fs.readFileSync('/home/hogehoge/server.cert').toString()
});
  • key: 秘密鍵
  • cert: 証明書
  • ca: 中間証明書

ま、中間証明書は必要な場合だけで。