diff options
Diffstat (limited to 'alarm/node_modules/node-forge/tests/nodejs-imap.js')
-rw-r--r-- | alarm/node_modules/node-forge/tests/nodejs-imap.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/alarm/node_modules/node-forge/tests/nodejs-imap.js b/alarm/node_modules/node-forge/tests/nodejs-imap.js new file mode 100644 index 0000000..ba024ef --- /dev/null +++ b/alarm/node_modules/node-forge/tests/nodejs-imap.js @@ -0,0 +1,46 @@ +var forge = require('../js/forge'); +var net = require('net'); + +var socket = new net.Socket(); + +var client = forge.tls.createConnection({ + server: false, + verify: function(connection, verified, depth, certs) { + // skip verification for testing + return true; + }, + connected: function(connection) { + console.log('[tls] connected'); + }, + tlsDataReady: function(connection) { + // encrypted data is ready to be sent to the server + var data = connection.tlsData.getBytes(); + socket.write(data, 'binary'); + }, + dataReady: function(connection) { + // clear data from the server is ready + var data = connection.data.getBytes(); + console.log('[tls] received from the server: ' + data); + client.close(); + }, + closed: function() { + console.log('[tls] disconnected'); + }, + error: function(connection, error) { + console.log('[tls] error', error); + } +}); + +socket.on('connect', function() { + console.log('[socket] connected'); + client.handshake(); +}); +socket.on('data', function(data) { + client.process(data.toString('binary')); +}); +socket.on('end', function() { + console.log('[socket] disconnected'); +}); + +// connect to gmail's imap server +socket.connect(993, 'imap.gmail.com'); |