diff --git a/dev/certs/README.md b/dev/certs/README.md new file mode 100644 index 000000000..83ab79882 --- /dev/null +++ b/dev/certs/README.md @@ -0,0 +1 @@ +**NOTE**: These certs are for development only. They are shared resources and should not be used for anything else. diff --git a/dev/certs/cert.pem b/dev/certs/cert.pem new file mode 100644 index 000000000..d062f0f39 --- /dev/null +++ b/dev/certs/cert.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDvjCCAqagAwIBAgIJAKAajhR+GFjHMA0GCSqGSIb3DQEBBQUAMEgxCzAJBgNV +BAYTAlVTMRMwEQYDVQQIEwpTb21lLVN0YXRlMREwDwYDVQQKEwhOZXcgWEtpdDER +MA8GA1UEAxMITmV3IFhLaXQwHhcNMTUwODExMTkxNTE1WhcNMjUwODA4MTkxNTE1 +WjBIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKU29tZS1TdGF0ZTERMA8GA1UEChMI +TmV3IFhLaXQxETAPBgNVBAMTCE5ldyBYS2l0MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA1EoMfR9h7BWL0NYHlAPmXRMo4/8xqM30fLvqdeooT5TK/xh9 +J2jUeOCwwvNCO6JllWSss/SRHWL2N+eU42VJ9uS1Ux261m4FsIC94A006Gi5khgv +Ywd41RyR6IigVnXWh9yQ+drcml7UXlNjgL0JIJiXJ7YvK9fhC2APwLqpcn6475CZ +GvGko23mmR9Vqce3q5yGV1BWrNvqh667ZAkPQKa1oYljWFt9keuo+OzoCvAecnC1 +EgthVHjlrDGMM/es/rKJQUlp+aJbOpcQKbEQE3iyzVkvy+uYOprG6n0e19eUyxQf +nVKbXKWJgoDyk9Lpq5eJ/wtq/FqEoWJ394f06wIDAQABo4GqMIGnMB0GA1UdDgQW +BBRUQ2J9//DXTx++u6bDn/9DGdnRBDB4BgNVHSMEcTBvgBRUQ2J9//DXTx++u6bD +n/9DGdnRBKFMpEowSDELMAkGA1UEBhMCVVMxEzARBgNVBAgTClNvbWUtU3RhdGUx +ETAPBgNVBAoTCE5ldyBYS2l0MREwDwYDVQQDEwhOZXcgWEtpdIIJAKAajhR+GFjH +MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBABa2MMt1xc55dx69F9p2 +9fOLrqL6ZN7LOaf891yhSuUNPCvN6xTDYcPHpvCSqEpe3tD5gsvEFbLVXgHIpS4Q +SHwFREXTmLtNlBpLDNdomczPixoZdJCYM9BmgHEgPZ+CEkBkaSG+V1eG5SdxxKik +TYKz2FdevgbvqvmyxCkBCyElWEQ13vs8ea5pV2wnsdviGRUqr6y5Fz+M2TiCk6az +eTmLS/xwJBfSDpL2xmUM6MG7FjO+Np+5R/X88Xne0c0nJmpagpK7ZCAYIZ5qxX03 +itNzdYex5eQ0y3QagQkqgbzNBJafNzIp0T+d3JPyr598USRxYEcqugpOwFPKwgoV +bfc= +-----END CERTIFICATE----- diff --git a/dev/certs/key.pem b/dev/certs/key.pem new file mode 100644 index 000000000..dff8ef8a2 --- /dev/null +++ b/dev/certs/key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA1EoMfR9h7BWL0NYHlAPmXRMo4/8xqM30fLvqdeooT5TK/xh9 +J2jUeOCwwvNCO6JllWSss/SRHWL2N+eU42VJ9uS1Ux261m4FsIC94A006Gi5khgv +Ywd41RyR6IigVnXWh9yQ+drcml7UXlNjgL0JIJiXJ7YvK9fhC2APwLqpcn6475CZ +GvGko23mmR9Vqce3q5yGV1BWrNvqh667ZAkPQKa1oYljWFt9keuo+OzoCvAecnC1 +EgthVHjlrDGMM/es/rKJQUlp+aJbOpcQKbEQE3iyzVkvy+uYOprG6n0e19eUyxQf +nVKbXKWJgoDyk9Lpq5eJ/wtq/FqEoWJ394f06wIDAQABAoIBAHPZBP+zBIkFKQuK +ARCxICFit0nUlZD885KuKcC3S9BB7pVPE91Rw8FDPLLmdRp+ANmJ2wVJTXev7ZWM +dx+wwrBNFvaIntEtsUUkvHlsO5corzwenp14EmSZ9rXi+Ty1iaESqLrwyLolTdc7 +wm0au8RiAPrW3N8cK989SNtwAdBMgLwa8d81tggpNT8OmdqN0svgjfaVpfKTeTGL +UcMFX/wUvU5IHsIjUQa3mIeQQRu37y9mY8O6eQCZhYZociiErgukvnjmA5KVZNgX +8B3i86wZROM0syijvi8PoePWTxOTZRosTOaJtLLlRWuTimJGyO+8R2PLR3ySQEBs +UJwljoECgYEA7ZK0iK57QZMYLsScsdSZi/uvVrhg3JwouYfvrT+VIzs0t1+oROKN +72mZmwPZ3CHz+pc8AKXXLUnJWSFovS4QAu6ahMM6AI7eKZywPpnp81kTC4A+gei1 +LelQgVJKQGM0xaQ8DEUHNSDFFUOwyj7ByOLXyl7eLnUC8KN09MI2HFECgYEA5MFN +sOQ0ftorEyLZVOK5xXVSNzbq66W4WMpX/Ae2WwvajEBLXYyboHevM0Vhx7Vh4L9O +kMoD8/DmE/kBCcTyaWFq8yEsjlHSJErOONp1A0CW1iPVfLAcrvUU5Qz84GOcXLKl +D0mWa8jC7pzy39KcSTHZUsQInv7lwmoClBG+OnsCgYEAgyC/btXHiGk1JtM0nd73 +pVEU9WutYvb6b3U9cEWw/pI2RaSRzvuxVdzWgL4+aIeBD+abosvmmcOpU/3hvtGG +2udx+Cd9g0NYEmW+zb7MZ5nZrjZpyfB02FN4MPkHrMRVI2XEEw2irctZnKQRF4BO +G6BBdRypy8CgD8xYyKPNlBECgYBPN12XHz/KmfSGuO+4BJe+eGVTN5JcrlPLc67K +WUVd/BnfrbgrmjCefjPOtn0o8ngFo1oqq7p4tHiIfBdO8cPcmF63+Un7svvpk3oc +mBIjYS+a0mfwuPAF6lslAr1jWztfooGkbKBJjQlsJi+5MK7sbfXLQpWVscGQ9LMV +4ZsVlwKBgCkZAMqDUldfz4cQ3QLSJtVBMm/TZ+JRYGvyOkkCdyoGK/Pws1ozpzHi +R7N7R17OEScaHKfwwmSUuMCrZLgBGHJN9B3LuaZRLEf1zBi7BrXmqsjsokGClMRF +6mkK5qkPHMKrsSvu+F3J/y5MfG3aNCmdXechsDjnY9ZK53GnMpb3 +-----END RSA PRIVATE KEY----- diff --git a/gulpfile.js b/gulpfile.js index 8a5e3b753..506fcfc19 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -11,7 +11,7 @@ var connect = require('connect'), fs = require('fs'), gulp = require('gulp'), gutil = require('gulp-util'), - http = require('http'), + https = require('https'), jshint = require('gulp-jshint'), jscs = require('gulp-jscs'), merge = require('merge-stream'), @@ -171,7 +171,11 @@ gulp.task('server', ['build:extensions'], function(callback) { gulp.watch('Extensions/**/*.js', ['build:extensions']); gulp.watch('Extensions/**/*.css', ['build:extensions']); - var devServer = http.createServer(devApp).listen(31337); + var devServer = https.createServer({ + key: fs.readFileSync('./dev/certs/key.pem'), + cert: fs.readFileSync('./dev/certs/cert.pem') + }, devApp) + .listen(31337); devServer.on('error', function(error) { log(colors.underline(colors.red('ERROR'))+' Unable to start server!'); @@ -185,9 +189,12 @@ gulp.task('server', ['build:extensions'], function(callback) { devAddress.address === '::') { devHost = 'localhost'; } - var url = 'http://' + devHost + ':' + devAddress.port; + var url = 'https://' + devHost + ':' + devAddress.port; log('Started dev server at ' + colors.magenta(url)); + log(colors.yellow('Remember to add a security exception by visiting ' + colors.magenta(url) + ',')); + log(colors.yellow('otherwise the connection will be blocked by the browser.')); + callback(); // we're done with this task for now }); });