M
Mike Houghton
As a newbie this might be useful to other newbies...
I needed to run a WEBrick::HTTPServer using SSL.
First thing to do is visit
http://www.eclectica.ca/howto/ssl-cert-howto.php
Just follow the steps in the summary if you are in a hurry.
Once you have the files as described then the following code loads up
the cert and key and runs in SSL mode. It's only demo code but is a
reasonable starting point for running up a browser with an https://...
url.
Firefox 1.5.0.3 and IE 6.0 work fine against it - but for some reason
FireFox 2 has problems - but I'm sure it's just a Firefox config issue.
=============================================================
#!/usr/local/bin/ruby
require 'webrick'
require 'webrick/https'
require 'openssl'
pkey = cert = cert_name = nil
begin
pkey =
OpenSSL:Key::RSA.new(File.open("/home/mhoughton/sslcert/key.pem").read)
cert =
OpenSSL::X509::Certificate.new(File.open("/home/mhoughton/sslcert/cert.pem").read)
rescue
$stderr.puts "Switching to use self-signed certificate"
cert_name = [ ["C","JP"], ["O","WEBrick.Org"], ["CN", "WWW"] ]
end
s=WEBrick::HTTPServer.new(
ort => 8080,
:Logger => WEBrick::Log::new($stderr, WEBrick::Log:EBUG),
ocumentRoot => "/usr/local/webrick/htdocs",
:SSLEnable => true,
:SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE,
:SSLCertificate => cert,
:SSLPrivateKey => pkey,
:SSLCertName => cert_name
)
s.start
=============================================================
I needed to run a WEBrick::HTTPServer using SSL.
First thing to do is visit
http://www.eclectica.ca/howto/ssl-cert-howto.php
Just follow the steps in the summary if you are in a hurry.
Once you have the files as described then the following code loads up
the cert and key and runs in SSL mode. It's only demo code but is a
reasonable starting point for running up a browser with an https://...
url.
Firefox 1.5.0.3 and IE 6.0 work fine against it - but for some reason
FireFox 2 has problems - but I'm sure it's just a Firefox config issue.
=============================================================
#!/usr/local/bin/ruby
require 'webrick'
require 'webrick/https'
require 'openssl'
pkey = cert = cert_name = nil
begin
pkey =
OpenSSL:Key::RSA.new(File.open("/home/mhoughton/sslcert/key.pem").read)
cert =
OpenSSL::X509::Certificate.new(File.open("/home/mhoughton/sslcert/cert.pem").read)
rescue
$stderr.puts "Switching to use self-signed certificate"
cert_name = [ ["C","JP"], ["O","WEBrick.Org"], ["CN", "WWW"] ]
end
s=WEBrick::HTTPServer.new(
ort => 8080,
:Logger => WEBrick::Log::new($stderr, WEBrick::Log:EBUG),
ocumentRoot => "/usr/local/webrick/htdocs",
:SSLEnable => true,
:SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE,
:SSLCertificate => cert,
:SSLPrivateKey => pkey,
:SSLCertName => cert_name
)
s.start
=============================================================