diff --git a/certs/foobar-ssl.crt.pem b/certs/foobar-ssl.crt.pem new file mode 100644 index 0000000..45b22bf --- /dev/null +++ b/certs/foobar-ssl.crt.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDbDCCAlQCCQDPOUKj3AYUrTANBgkqhkiG9w0BAQUFADB4MQswCQYDVQQGEwJV +UzENMAsGA1UECBMEVXRhaDENMAsGA1UEBxMET3JlbTESMBAGA1UEChMJU3BvdHRl +clJGMREwDwYDVQQDEwhBSiBPTmVhbDEkMCIGCSqGSIb3DQEJARYVYWpvbmVhbEBz +cG90dGVycmYuY29tMB4XDTEyMDgxMzE5MzgyM1oXDTEzMDgxMzE5MzgyM1oweDEL +MAkGA1UEBhMCVVMxDTALBgNVBAgTBFV0YWgxDTALBgNVBAcTBE9yZW0xEjAQBgNV +BAoTCVNwb3R0ZXJSRjERMA8GA1UEAxMIQUogT05lYWwxJDAiBgkqhkiG9w0BCQEW +FWFqb25lYWxAc3BvdHRlcnJmLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALFoqfbFEPZSHtfx90hw978oQ/4OzvN8EjFt7uXPI2UuavB7L8EZne0K ++rhmgI3uPSpvIwK/tvfzOoUD3OgMO6LpM0xe+Xg+xYiAXNAkHkhqKN7cI6fZj5dK +TEAODhJGVQLB5O4UztHZKYkUE4mBbTXJaT+VutkGL+IGt9Cw4tMGrnHoF2R30tki +vGgcXOzpt9zEif6J8qT8SwAZq0Dew6AIDVmH4HbGGvP9371ailxF23OiyJtIEBsw +U6oTkqxDHum5vo35ifSUvP+b+XE/sfp5G9wil+ICq60p6MAeGRxelzSY0AhIqdRr +XAbpuUs7b/zov3XFxiEXC7mJzOMnH0UCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +KeVFOU59KgmMNtV9qzEZodcQRLhyKESktgkNYXMkAWLPuSWZPcNvRqvx9DgjjdTG +PUH4+PLN3wle8wyf66hp1tOMzJZ37mJf/+3PuVhW5UemndbGJMyYGrHDmHd+um/u +rdafinObPo90trh/k0jWFWWhBIGBABLND4c34Ig0iqGIVwf9CSGlz9eEFZ+7jKsb +4dPjDmY+evPG7eyFGdmKMlTNFutaMFo8osAezreRYOyzuUtyEUOkk8MBNOQs/sUf +yQZyxFzV0WSTNpxKbroby8kcItnjnSUE6mO8rF1DYPDnoQXoE5Ak+RBKGR+4i9FV +uslJIk5U3AhyD2QPwZ56EA== +-----END CERTIFICATE----- diff --git a/certs/foobar-ssl.csr b/certs/foobar-ssl.csr new file mode 100644 index 0000000..06b77d4 --- /dev/null +++ b/certs/foobar-ssl.csr @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIC1zCCAb8CAQAweDELMAkGA1UEBhMCVVMxDTALBgNVBAgTBFV0YWgxDTALBgNV +BAcTBE9yZW0xEjAQBgNVBAoTCVNwb3R0ZXJSRjERMA8GA1UEAxMIQUogT05lYWwx +JDAiBgkqhkiG9w0BCQEWFWFqb25lYWxAc3BvdHRlcnJmLmNvbTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBALFoqfbFEPZSHtfx90hw978oQ/4OzvN8EjFt +7uXPI2UuavB7L8EZne0K+rhmgI3uPSpvIwK/tvfzOoUD3OgMO6LpM0xe+Xg+xYiA +XNAkHkhqKN7cI6fZj5dKTEAODhJGVQLB5O4UztHZKYkUE4mBbTXJaT+VutkGL+IG +t9Cw4tMGrnHoF2R30tkivGgcXOzpt9zEif6J8qT8SwAZq0Dew6AIDVmH4HbGGvP9 +371ailxF23OiyJtIEBswU6oTkqxDHum5vo35ifSUvP+b+XE/sfp5G9wil+ICq60p +6MAeGRxelzSY0AhIqdRrXAbpuUs7b/zov3XFxiEXC7mJzOMnH0UCAwEAAaAaMBgG +CSqGSIb3DQEJAjELEwlTcG90dGVyUkYwDQYJKoZIhvcNAQEFBQADggEBAJoedA+/ +GThJutzS9K29yCBqfCVvw1qauYNLNoFHQJ4v6sCXkMfRhF6cpx/2I/102MR0FbzS +rYysBHaBD40Efp0WPlxIgELXM3i68o0CEnHiu3bss/U6q8CB3QKlwyS/eV6W8oHB +cjxYcDGFXs+VZJzh90zBPI4VUXhgHlEHuZ1wgI9rY2BEY5QQX1DFG9FjuvpoxUPd +zhAtdrlLao5As+M3s+2eo17rkMmtMoOFRS2SRQXPkFJRoezZ1tGK3cMg/SsH5qPT +DMyguyun/NzKC/u644lM1ZlCxMrxKEHAym89dYUKxJ8DAfUjfPsFJLnn/LgaGX3K +tY3+tLw1hcG/soo= +-----END CERTIFICATE REQUEST----- diff --git a/certs/foobar-ssl.key.pem b/certs/foobar-ssl.key.pem new file mode 100644 index 0000000..ee46ad8 --- /dev/null +++ b/certs/foobar-ssl.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAsWip9sUQ9lIe1/H3SHD3vyhD/g7O83wSMW3u5c8jZS5q8Hsv +wRmd7Qr6uGaAje49Km8jAr+29/M6hQPc6Aw7oukzTF75eD7FiIBc0CQeSGoo3twj +p9mPl0pMQA4OEkZVAsHk7hTO0dkpiRQTiYFtNclpP5W62QYv4ga30LDi0waucegX +ZHfS2SK8aBxc7Om33MSJ/onypPxLABmrQN7DoAgNWYfgdsYa8/3fvVqKXEXbc6LI +m0gQGzBTqhOSrEMe6bm+jfmJ9JS8/5v5cT+x+nkb3CKX4gKrrSnowB4ZHF6XNJjQ +CEip1GtcBum5Sztv/Oi/dcXGIRcLuYnM4ycfRQIDAQABAoIBAE1LBWnvF+HJi4iX +8h3MohPVrjHdL8sjTiXc+I2FPq2RmKPnd7nQuF6TPwLiHbY4isuXGhDTiBrlDKTx +Nuiek8j5gxEN+/CooJVFH6rLYao5Hk9iZ+J0Rjwq8aeit/y8ScNmyJ/1ztncnF0N +sylgiz044DMEwCBXsrruJF23A0veznkHel/kQfBUDqUdoobaESEbsnwk+fKogh22 +YX6TQGykC3PONbNPwvD3Fj0wKpZN+PJdOpQml1uR5Z34+cyuC6IEOpYVQJ5NQYYb +qpi74UUEJISqSpMAHtaoRKmA0Knn2dkjP2lDrmMZuZVaW3TmM54R95Mtf+cSYjL7 +o1uGNS0CgYEA3nplBBxBW10ojGkTzM5ehUyE1bltSao2QSAoIxwpMus8/IYNn6b/ ++VpMqe+S/Gq3nO1hef4S51kGDmnxnlI3SToBSXt7GvYdgz5g3bLnVfjma35sQt5w +6owJLPuBlyU6hmjH5K2fZAaGIqNx0q5TipDIZNRvzkEdpekPmYAGySsCgYEAzCPS +RDbJXRe9aJ9gAB/dh8yynQFTlWkaOGe8GlS0ke987ZeGwYLA9KqTFVPJlS8HbGrR +d+qCVQVlsazGUTjv3h0atTqEwdLriAOMkK4/TxiqSDZYXlg+tK/YIC2InHGgdYbe +TONoEVIPGy6f49J/VSR+VietrgcP/TLFS4ohoU8CgYEA1WoNiuLb4xu7MO3/W2C/ +lRkw96A3cQnBn7mMJxn1f23fA9JIMVVOiVEQ55b0pgRs/DFOZ2rNkXV5dMw2RgxS +EoF9CJNWJSfgaayl2SWr+nGX/5e3nHGrWaNZjff5eRbyTEspLXlLw/TqKUImhtZJ +N0vpn6eVVQJrwWKPX01LtR8CgYAn3gsPdV+oBZ3hE9cMzyxVfB2Z2gt3z3nmcCPl +RIurQIk2YXRY0G9cmP92l9FziCa7/rR/5dWkQxSUOXjVnfgCec6gfBg3PjjvbDoE +e3MzwE5pIevqKPO+F+Vui1X1r581tKwvee32C/+VQGrLdG2XtDPUIZWiuhBeU48C +bKyaswKBgQCrLHHPWimMesaONQzeP1glDpVFySO8QCGsXiOgSTT8rHTrgwLTN1uU +rY3Kg0jkb22CQni5vw76oMcDOVwDC+Q5/E2v2bFxrHA5zgEwLxt5J8xC2f0yWQPa +Y4EtWEBVb3q/cCcNMhCjieIj2eu9MS7Qvxabz2d8oWLmAB1C++eQxQ== +-----END RSA PRIVATE KEY----- diff --git a/certs/foobar-ssl.orig.key.pem b/certs/foobar-ssl.orig.key.pem new file mode 100644 index 0000000..e4ea725 --- /dev/null +++ b/certs/foobar-ssl.orig.key.pem @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,B3BF436CF8D1940C + +5xk6SLAaFIJyONWwaFnH+JM56+6U9ZbP9lSXTkf6AeDOdczl5NKotguUpwduDKIs +jeOOyMloRUieNI3i96kw4cbmchutVhOpQcHG7RiWxQF9iRJwZ1r5fGbxg+dxTRIp +VzIaqdjXzXWtdoFiNLcsTYppYhJcXGn63T401f3RcuBHkIzNQ+t0IBo1KlkQYCvw +0yWWmPPDiTdTTgOCRfD/SPRBmnealIOgQF4cST8u87Jq3+81uS0/R1SE0DGLWEuI +XGJzHqij7r9cbqsV+yLSAySRDpFznaOQmL0Ql7FdfqY4STE89gqg0h+ip9i4k7Gz +PY6mC3nn+MPf49lZWqjTa820XUuA5Cjj0eYpF0pWc+h/Uia3HaAScFmtP3PKIDND +5sQzpmmr5bsjnYItah1dz4BuK0WQXPjTrPG+pFS2oi2wDxZjJln7aOakRUWEMWmr +6mrOU/jbkQbbu6n3OnpOqMKP6ZgfiDYi1h1wHCOnTeHs4cEhmPWyhu1DHJrJwRDp +aMISaIZNa8g7+/gN/iZmqfQ2W0KSxMTzdgLnWp8XObT7ZlHbq5/br4XgivYlJ0et +UIeM36RHFeSFiHdZDCtueP3PESqNFc9s9LfxTv2GnkXg5fnk3+ZDrqvQktWzvQpP +SZZVq46AHeKr+LXnNLXvQd7A41aFk4j9Y5Fgz4E59a7aY4DZeocEli+54ajf8OTa +2M4VMCwZEts5pFY4j4iMDXI9ZByM0sB+kZCQ37ZozaofOTHXc/fdl2CSO/avr9l/ +B3XhhLZuRHrOX2GTj/nTsRIwyxIIctNcV4FkPi6sO58+s7Iep/wh820bDHkSEqKx +7Vkad5oSP5Dw8GHQKKoY3BxAKhUo8qDqhNIk1CXvRiSOgyAXed5KabDaUpInsd1h +flJYC9HnvFmQdDh+y6rd8RzHu5HIizqfoALZum/uRQmWzyk7ky00y6jyKuKJsJUy +i1vhm35kXAWx1URJzsrT+foErW3dybcwZWhNUe4Df2gjJTH4yMl0uZi8AUsSgXi1 +P9QH0ctqV1E1voNeZW72EZ+F/6RqelU1PuP9oAjJBz9XaHRKtAt0ILgFbYz0HxUD +/xAl5CXq51Nzi33MR2UUzUdEgT6bch84JkarV8mMD4w6LXxh3+x3wvYdBFgxWOvC +zq/nYlj0E+5K1hgsXT5LMy7Vt2MgpLJaYBwnDFy5Ck1aCQJyUTZlIrD+lwhaknZp +pg8uWoYJIC+6UK6rTDneD6/jr9GXt4Ww1aW0VMMKE8mknDRGLNJC5S7d8ICnYviH +5zJtGLm4BjSElrpQ8tFUnzxordGjoXOHGJ9YkedCNBGm1VD/ENV9MCz4iNpcUBhJ +pvl9vSzxdHhohLCnqzkSlpvRnXLSglD9TEYD8RVo3Xt+2u+4O1hKtMWF+HrOajgw +FDD0XSJSC9XiBgSFxqwjIUjBkp2IxwzdXdcQVw3RNMxBVCrRnzxqKNIgR7qLXo+T +XQEqiY5mAh/wdLUMmK/J4AzQglK5Y+8YSkXRXXnLhfpjMrt6IaYXPPTfi+6L5Wce +Z7RKXCbJZTsP+bc96YJ6LUHzI8eukKjQTU8LmN+gy86yzUHv4acyy7T4YXA12hVq +-----END RSA PRIVATE KEY----- diff --git a/nodejs/https-listener.js b/nodejs/https-listener.js new file mode 100644 index 0000000..557d3ed --- /dev/null +++ b/nodejs/https-listener.js @@ -0,0 +1,38 @@ +/*jshint strict:true node:true es5:true onevar:true laxcomma:true laxbreak:true eqeqeq:true immed:true latedef:true*/ +(function () { + "use strict"; + + var https = require('https') + , crypto = require('crypto') + , fs = require("fs") + , privateKey = fs.readFileSync('foobar-ssl.key').toString() + , certificate = fs.readFileSync('foobar-ssl.crt').toString() + , credentials = { + key: privateKey + , cert: certificate + } + , server + ; + + server = https.createServer(credentials, function (req, res) { + var data = '' + ; + + console.log(req.connection.remoteAddress + ':' + req.socket.remotePort); + console.log(req.method + ' ' + req.url); + req.on('data', function (chunk) { + data += chunk.toString('utf8'); + }); + req.on('end', function () { + console.log(data.toString('utf8')); + res.writeHead(200, {'Content-Type': 'text/plain'}); + res.end('Hello World\n'); + }); + }); + server.listen(8443, function () { + console.log('Listening on https://' + + server.address().address + + ':' + server.address().port + ); + }); +}());