Last active
August 29, 2015 13:55
-
-
Save Rush/8752139 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
After running this script, please run: | |
openssl s_client -reconnect -state -prexit -connect localhost:41443 2> /dev/null|grep -P "(New|Reused)" | |
Needs at least: | |
> openssl version | |
OpenSSL 1.0.1e 11 Feb 2013 | |
Expected behaviour: OpenSSL should report all new connections since resumeSession is | |
returning null session data. Both newSession and resumeSession should | |
work, although in this setup only newSession should be called. | |
What happens: OpenSSL shows session resumption works but in Node.JS from 0.11.5 the events | |
are not fired. In 0.11.4 the events kind of work... | |
*/ | |
#!/usr/bin/env node | |
b64decode = function(encoded) { | |
return new Buffer(encoded || '', 'base64').toString('utf8'); | |
}; | |
var keys = { | |
"key": b64decode("LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeDRjUTd2YmdNK2JuQXlXVHdWVGl4NXRxUUNWUUxVVFFkMlREdElYZXVZN2lFbVRVCmlEM1hacGhVYlkyQVpJbkwzOHNxRm5iM1ZDVERKbVd2UUZJcHpNNUhSZ2dzOE5tTFRWa1podHV1TWFkMXpGaVEKaExhbUZ0ckdtckRiMGpiMkNrckVYdDFQa29VOThuK0FMVGp2a3A0ZklqbHM4RW1pLyt1em5BL1k1Z1hpdzlUTAp1NXJKYUdWdGpBMXJCK2o1MjZRaEQ3ZHdSTjBuN1lTNHArVDNwczBtTzJPYW9xSE5IZnpMRDFlclFkei92a3ZyCmlQWmp4M1RGZ2U0ZEUxbWN3MmpZMENkcWhDQnBneDJSRExyMTZwZmVRRkNza3p0aGl0d0o5ejlib3UwTTdURksKdnpzQVBEdktwWW5nSkhhdVlBZmlDV0Y0bWMyYVo0MzdJQTBzRFFJREFRQUJBb0lCQUhNRmRjbU1IK3RMck5pdgpqT0hpb1drWU9zUUh2cFNhR3VMNC82ak5rM3U4MXE1cjJlbEFYVEFUbUhnZkhtalcxdVNJSmhjVk5iY1lDamZVClhwYmh4cDcrT3pBdi9saEowSGdpYVFqSkV6NGtuMC9Scmw0VFBPUG44cDJ5WHNac1VLSFdRQ1cveHVOY1ZEMjcKS3BUblFaUnYrdHFyNkJVTkhoNFNMbFJFL25CNjUyM0VMczJaVWFRQmk2NVdMMzBjNkVyUTJ6NnA4T3laTGwvZgpnZ216OGlTY05lekFRZmxTWk9kWFNYNFU0eEtyNDFSbUFFbE9pREJmci9Ud3pQZFJCaEpNSnV5dElLcFhiaE00CmxuZ3NZRTFXSno1MVVBV2hRZmwxMVZpTEJUb3p0WnhOYVBaeUdEMmJ1OU50dHRLTEJwZXZpenRPYlVwazlyS2cKdXhrMzRBRUNnWUVBNlVweC9xZmlRRnF3WnNhQ0ZjeXlBNC9mNnBnbGJoRnYxc1pHeW82dkVLZ2NvZ3Z1RE9raQpEblNlNURCZDFvMjMvbG1OZStiNzRlRWJtUjNDM3UxWWdSQW5yVncyWjl0VTZaOFlUS1l1ai9sZmhKQzN4S2I3CjJ0ZkpyTkFNSTVUaklpK1ByNk4zbmIrN3FabTQ3bWxkcURXQWUrbGhkS1pWMmo3TjliR05nZzBDZ1lFQTJ2TS8KM0J1YmZCYTJGZXg3QVBnRlBrbHRmZitnTnNzSXZXMkN0VExJbDM2R1JVd0RKN0dBTU1KR08vRXNnaERTTnlPdgpRTVlydC9yeXpGdEdDVGFHUXgxTWI5VFd3Nnd1cTl6dHBkekpBQXV2TXQ1U1FWL0krWVdlZ0VxUmxZZDhtTElzClBGcFRpTUowODlDVk4rQUFVd3JwSytLN3JuVmo5UVByVW5uVjBnRUNnWUVBajJmQjEwYWdIK3Nma0szcC9UaU4KSFA5dUo2bExLUFB6Q2RWc1lzdCs5Z0JCU2FPSHU4djdzV01pNFNhU0tIZUphUUxucEFpRFFZQzlGRXhsSStCRwpqVisrNUNSUkZWcVFRZVFZYmRXaHZjTVBZbEFMaHdrV3ZKbjFVUk82d295ZGFzQk4xU3ZwTmNGTXZKN1FQVTNyCjBxREEwR3JRQzRMTU41SnZ6TjVPSEdrQ2dZRUF1N0pJRG5NRVNjNVdibGo1NFl5OVFmWkVqUDAwNVlRTWpBZHoKUTg2ek0xdmQwMDRrYmtTMk5oWjFpekZuREdGTE5NVzhtWFRKU2NFeG40cW5jWUp5ZXRxRkNtR1ZjczBLZlg2NQpvN1N3QXdBQlEwUmZrM2QvbkppMWxobFcwSzhEV3d0eTdKSXFobFRkV1o1NExSdzBhdnd4ZzlPdFBST1ppeE8vCkNrY3p6QUVDZ1lBdXlXUU5la1U2d3hFNEZGbVVFbmNMZkROTWJaMy9VYkpYK3g2R2lFQzl1c2U1aXRpNEtRUDgKVDc2eWxYR2JIYXRqeE9pUWtsSmxZbzlRVTkzVDJrMXloeHN2ZHZWZTlOVHByOTBZQUdDeExuU2phRkVJamh5UgpTYXMxbDY1MDZjaGNsY0MydzNVRi9HNnkrQlMzenFuRmdPVHR4MGZ5TVptczVqN0hkVlc3UVE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo="), | |
"cert": b64decode("LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURYVENDQWtXZ0F3SUJBZ0lKQUw5TjIvSTJUaWZCTUEwR0NTcUdTSWIzRFFFQkJRVUFNRVV4Q3pBSkJnTlYKQkFZVEFrRlZNUk13RVFZRFZRUUlEQXBUYjIxbExWTjBZWFJsTVNFd0h3WURWUVFLREJoSmJuUmxjbTVsZENCWAphV1JuYVhSeklGQjBlU0JNZEdRd0hoY05NVE14TWpJMk1USXpNVEk0V2hjTk1UUXhNakkyTVRJek1USTRXakJGCk1Rc3dDUVlEVlFRR0V3SkJWVEVUTUJFR0ExVUVDQXdLVTI5dFpTMVRkR0YwWlRFaE1COEdBMVVFQ2d3WVNXNTAKWlhKdVpYUWdWMmxrWjJsMGN5QlFkSGtnVEhSa01JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQgpDZ0tDQVFFQXg0Y1E3dmJnTStibkF5V1R3VlRpeDV0cVFDVlFMVVRRZDJURHRJWGV1WTdpRW1UVWlEM1hacGhVCmJZMkFaSW5MMzhzcUZuYjNWQ1RESm1XdlFGSXB6TTVIUmdnczhObUxUVmtaaHR1dU1hZDF6RmlRaExhbUZ0ckcKbXJEYjBqYjJDa3JFWHQxUGtvVTk4bitBTFRqdmtwNGZJamxzOEVtaS8rdXpuQS9ZNWdYaXc5VEx1NXJKYUdWdApqQTFyQitqNTI2UWhEN2R3Uk4wbjdZUzRwK1QzcHMwbU8yT2FvcUhOSGZ6TEQxZXJRZHovdmt2cmlQWmp4M1RGCmdlNGRFMW1jdzJqWTBDZHFoQ0JwZ3gyUkRMcjE2cGZlUUZDc2t6dGhpdHdKOXo5Ym91ME03VEZLdnpzQVBEdksKcFluZ0pIYXVZQWZpQ1dGNG1jMmFaNDM3SUEwc0RRSURBUUFCbzFBd1RqQWRCZ05WSFE0RUZnUVVBZloraTJ2ZApQMXJVQkxmU1B5eFRCWld5Qktvd0h3WURWUjBqQkJnd0ZvQVVBZloraTJ2ZFAxclVCTGZTUHl4VEJaV3lCS293CkRBWURWUjBUQkFVd0F3RUIvekFOQmdrcWhraUc5dzBCQVFVRkFBT0NBUUVBb1VETnRhQUhBSlZYaEhDRVl1UXEKQ1MwOFJwekZQeEZ3QnZhUHNTeWhkZ0lscjJHdzVjb213K1ZCclpZTWxPSnhlY1d6TlFaMXhoNFBySnhiSzhoYQpjR3owb3prMjM0NUpvUXQzVldCYWhZV0ZPYkNxR3QxakI5REpySnQ5c1h4ZDhqKzZIUnFpNE1FenJpSmM2WUY1ClRSUmV5NGpZeTB6K0h3a1FRbndhRFVBbzdNSkF5ZG5RZk91eW9TM3ZPVlpyTkR3dEd0M3ZoaS9oYldKMXNMZEEKNEcyUytjM0o2dVM5RlNtbXhiajExWnZ3REZYU0ZIN0RWMXpkQXFGaFVKOGp4K0FOeENEK01MbmdpSWczUVBldgpkOEVnc1hJV01DSGxwL1ZCbEpUS2FPZk5uWkdXQVpUMDNEOEFIWGpHYUVsWWVqTWRBcitVTEJHOFlObVRUL0x6ClJ3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="), | |
}; | |
var tls = require('tls'); | |
var server = tls.createServer(keys).listen(41443).on('connection', function(conn) { | |
console.log("Connection"); | |
}) | |
server.on('newSession', function(sessionId, sessionData) { | |
console.log("new session", sessionId, sessionData); | |
}); | |
server.on('resumeSession', function(sessionId, callback) { | |
console.log("resume session", sessionId); | |
callback(null, null); | |
}); | |
server.on('listening', function() { | |
console.log("Listening"); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment