I am currently having the same issue.
Offending line: OpenSSL::PKey::RSA.new(File.open("serverkey.pem").read, 'password')
The key in encrypted PEM format with password of 'password':
File.open("serverkey.pem").read
=> "----BEGIN ENCRYPTED PRIVATE KEY---\nMIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIaYgszaX31yECAggA\nMBQGCCqGSIb3DQMHBAij3LmXGCmB8wSCAoDcLnAeXiBugFmwXd3wrvznlKvwHkP2\n76lIrTiwDRZOLuaKHdBgNQDJ3NP+UPGdM7YEyNqdfdbN/3cLd0qfzeobuU+c/lGI\naE5pAwlWm5lK9boTsJnCqaDFEgJz2khZF+7RqYQVSG7MTM9SnIRNScLKjhTk7AaF\nPD2qSnMVtixw/VfwdzhUknuwP2monLY8Ip/l9abicmBp9HGQ+0WA/nKQLQ/egWG0\nS6rrXsH91exaxL7gcZL8jF+Ub7VDt4Hvx1RB/3r12k7AQGsK+TyIrKQFUllSnSq/\neFwBqpLSKWYyGJZlkJzW5MTHyeXqpTvav6T7e2mKZ4GG/a8THoWxLLrKeODFFoWn\nLQNOQZ2Axa15E0TdeSkaumsOWPJm5DgFxf/1cRNxhJqYdX68QjWXeNS2SXPZBwlx\nHCaAYo6OoCHZQ7O/3MpiT3rUAk30fbSa09VSvrenYi5s5lPieKFt3QZI44uGvi9j\nMXyN4fkjzzXasE0xZzf6bQLS6aM+ucyQ8CMv0oAgAndoeKu10Ha4KmdT5dZf3LHj\nBUXZDYp3Q5UF6ePyxKBdAqJf4PNKl4+VehYJ4eQ6CIQiSxSuWv9T+2b90PyDuRkz\nsB1XZpeDD6dhQuU9GjdwCTyatITcm97ZkbdZEoQiDpiWQB4parTvKLKbD4AbP/+E\n08btPFgXNocFUjLb5lB4Y/6RqaQxY7VoaFOPOfPpWPXF26X9Y5y3y+ymXdYFpkhp\nwGBGScH+dutQWHoRV1TWUjv9a7CuzUxCX2Hrjooz1BtOnG8CoPA7K43+kvire5jN\n529p6u+FtUZPUWLm5L5WHBUECEtJGw3ImjosX1HtoM/rW34XDmMHuN0u\n---END ENCRYPTED PRIVATE KEY----\n"
Checking the key with openssl:
openssl rsa -in server.key -check
Enter pass phrase for server.key:password
RSA key ok
writing RSA key
----BEGIN RSA PRIVATE KEY----
MIICXAIBAAKBgQDiLS2nkw7ggpwqS7sVSzxJpd78iMTk2KjpVJ3bxAFiwD3FJn5j
GfY0domsMq01belvgSh+Fpyf6F2AXsWTn5at8JywemcRt0/nPJstzYnWs6O/YjBQ
TiNX5Is0mAPbklVDpFWeGDsgt84+Md/cjGJTsbd7QYmDDfI/QiPnUlBmhwIDAQAB
AoGBAN12VUzPPvLwkM8NZjtcdsS6aNQna3uU9he6ZfOpQZ4bFKC1p22MHzqRkw6M
dHNrkvY+ppKHu4cMNHmc0qNQ0WzaebsvXEkXLwl4qZFd9mB3oUzzNM29AFlQ0b/i
BT8e/egquur6ycOEUQKXo/vH3OY0VqztPmXQtr9S/ULcBMWZAkEA801Ceprgyy30
1iMSQU5Hpl5hE4P2Ntlb0rHU+YFF+w0FNqAdQA0EL+ONYTtIsjNLRitFBM67PxKn
WgutS2RGawJBAO37G7wRln9DUrVJUxG+tOgbcSzE0Zq7w2ylcQN83vxjUJ0Iwg0o
2zSEeeUoYz8r0jpbCca+WckeWHcWE7deT1UCQGXnERX68nYG/IoHzGiP2dCjrPMY
jTIx3ZSkqPgLnfzlWi6j5zxhd0R7gUadJviEJV3xV4oI8EIdlPxQ8bcm+5sCQBHI
PqVJ5yXxQN/c78EWr+vcCRPgTQ0z1IFsx0oMbZkMTry9J8rV77M35ufRocDZpGbJ
4KwiExFtHA0h8C02ddUCQHnUVXEG2QAJ46+LeIWoRPZAGR4b+BpgasDgP8paGHE6
PPlrX0/KNeGmoGCjogHue4rUT7sr+UErckl2zv5KySQ=
----END RSA PRIVATE KEY----
Using CRuby:
1.9.2p318 :001 > require 'openssl'
=> true
1.9.2p318 :002 > OpenSSL::PKey::RSA.new(
1.9.2p318 :003 > File.open("serverkey.pem").read, 'password')
=> ----BEGIN RSA PRIVATE KEY----
MIICXAIBAAKBgQDiLS2nkw7ggpwqS7sVSzxJpd78iMTk2KjpVJ3bxAFiwD3FJn5j
GfY0domsMq01belvgSh+Fpyf6F2AXsWTn5at8JywemcRt0/nPJstzYnWs6O/YjBQ
TiNX5Is0mAPbklVDpFWeGDsgt84+Md/cjGJTsbd7QYmDDfI/QiPnUlBmhwIDAQAB
AoGBAN12VUzPPvLwkM8NZjtcdsS6aNQna3uU9he6ZfOpQZ4bFKC1p22MHzqRkw6M
dHNrkvY+ppKHu4cMNHmc0qNQ0WzaebsvXEkXLwl4qZFd9mB3oUzzNM29AFlQ0b/i
BT8e/egquur6ycOEUQKXo/vH3OY0VqztPmXQtr9S/ULcBMWZAkEA801Ceprgyy30
1iMSQU5Hpl5hE4P2Ntlb0rHU+YFF+w0FNqAdQA0EL+ONYTtIsjNLRitFBM67PxKn
WgutS2RGawJBAO37G7wRln9DUrVJUxG+tOgbcSzE0Zq7w2ylcQN83vxjUJ0Iwg0o
2zSEeeUoYz8r0jpbCca+WckeWHcWE7deT1UCQGXnERX68nYG/IoHzGiP2dCjrPMY
jTIx3ZSkqPgLnfzlWi6j5zxhd0R7gUadJviEJV3xV4oI8EIdlPxQ8bcm+5sCQBHI
PqVJ5yXxQN/c78EWr+vcCRPgTQ0z1IFsx0oMbZkMTry9J8rV77M35ufRocDZpGbJ
4KwiExFtHA0h8C02ddUCQHnUVXEG2QAJ46+LeIWoRPZAGR4b+BpgasDgP8paGHE6
PPlrX0/KNeGmoGCjogHue4rUT7sr+UErckl2zv5KySQ=
----END RSA PRIVATE KEY----
Can you please upload the key you're using, or step-by-step way to generate it?