I am working on a node.js project using Express and Socket.io on the sheeva built-in board (node.js 0.10.12 working on busybox Linux). Since this is built-in, everything is built with sparse parameters, and there are no cryptomaterials installed (node.js was compiled --without-openssl). This server will be used on the local network and no confidential information will be transmitted or received, so encryption is not required.
When I run this script using node:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(3000);
node exits with the following output:
tls.js:67
throw new Error('node.js not compiled with openssl crypto support.');
Error: node.js not compiled with openssl crypto support.
at tls.js:67:9
at NativeModule.compile (node.js:892:5)
at NativeModule.require (node.js:861:18)
at https.js:22:11
at NativeModule.compile (node.js:892:5)
at Function.NativeModule.require (node.js:861:18)
at Function.Module._load (module.js:297:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/usr/share/nodeserver/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/WebSocket.js:10:13)
This is expected since node was compiled without openssl support. Tracking the error in /usr/share/nodeserver/node_modules/socket.io/node_modules/engine.io/node_modules/ws/lib/WebSocket.js, this is the line causing the problem:
https = require('https')
, . Socket.io https ?
, Socket.io openssl, , ...