[Pharo-project] Has anyone used Zodiac and Seaside to for https?

2013-04-18 Thread Mariano Martinez Peck
Hi. Let's say I have a seaside running over HTTP with
a ZnZincServerAdaptor. Is there a Zodiac adaptor I can use to have my
seaside app running over HTTPS?

Thanks,

-- 
Mariano
http://marianopeck.wordpress.com


Re: [Pharo-project] Has anyone used Zodiac and Seaside to for https?

2013-04-18 Thread Sven Van Caekenberghe
Hi there Mariano,

On 18 Apr 2013, at 22:03, Mariano Martinez Peck marianop...@gmail.com wrote:

 Hi. Let's say I have a seaside running over HTTP with a ZnZincServerAdaptor. 
 Is there a Zodiac adaptor I can use to have my seaside app running over HTTPS?
 
 Thanks, 
 
 -- 
 Mariano
 http://marianopeck.wordpress.com

This is Pharo Smalltalk, of course you can do that ;-)

The trick is to use #server: to give the adaptor a specific server instance to 
use, in this case a configured ZnSecureServer instance.

Something along these lines (I haven't actually tried it)

| httpsServer |

(httpsServer  := ZnSecureServer on: 1443)
certificate: '/home/sven/ssl/key-cert.pem'.

ZnZincServerAdaptor default
server: httpsServer;
configureDelegate; 
configureServerForBinaryReading;
start.

You could best test the httpsServer on its own (you need to get the certificate 
right).
Problem is, this won't work on Mac OS X.

If you can't get it to work, let me know and I can try on a Linux machine (but 
not right away).

Sven

PS: Maybe ZnZincServerAdaptor#server: should send the 2 #configure messages 
itself, now that I look at it.

--
Sven Van Caekenberghe
Proudly supporting Pharo
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org







Re: [Pharo-project] Has anyone used Zodiac and Seaside to for https?

2013-04-18 Thread Sven Van Caekenberghe

On 18 Apr 2013, at 22:23, Sven Van Caekenberghe s...@stfx.eu wrote:

 You could best test the httpsServer on its own (you need to get the 
 certificate right).

I always forget how to make the key-cert.pem

This is one pointer that might help

http://devsec.org/info/ssl-cert.html

I believe it is the thing they call server.pem

Sven


--
Sven Van Caekenberghe
Proudly supporting Pharo
http://pharo.org
http://association.pharo.org
http://consortium.pharo.org







Re: [Pharo-project] Has anyone used Zodiac and Seaside to for https?

2013-04-18 Thread Sven Van Caekenberghe

On 18 Apr 2013, at 22:56, Sven Van Caekenberghe s...@stfx.eu wrote:

 
 On 18 Apr 2013, at 22:23, Sven Van Caekenberghe s...@stfx.eu wrote:
 
 You could best test the httpsServer on its own (you need to get the 
 certificate right).
 
 I always forget how to make the key-cert.pem
 
 This is one pointer that might help
 
 http://devsec.org/info/ssl-cert.html
 
 I believe it is the thing they call server.pem
 
 Sven

Here is how it worked for me (the ZnSecureServer part):

sven@netbook:~/ssl$ openssl genrsa -out privkey.pem 1024
Generating RSA private key, 1024 bit long modulus
..++
.++
e is 65537 (0x10001)
sven@netbook:~/ssl$ openssl req -new -key privkey.pem -out certreq.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-
Country Name (2 letter code) [AU]:BE
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:Hasselt
Organization Name (eg, company) [Internet Widgits Pty Ltd]:STfx.eu
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:Sven Van Caekenberghe
Email Address []:s...@stfx.eu

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
sven@netbook:~/ssl$ ls
certreq.csr  privkey.pem
sven@netbook:~/ssl$ openssl x509 -req -days 3650 -in certreq.csr -signkey 
privkey.pem -out newcert.pem
Signature ok
subject=/C=BE/ST=Some-State/L=Hasselt/O=STfx.eu/CN=Sven Van 
Caekenberghe/emailAddress=s...@stfx.eu
Getting Private key
sven@netbook:~/ssl$ ( openssl x509 -in newcert.pem; cat privkey.pem )  
server.pem



(ZnSecureServer on: 1443)
certificate: '/home/sven/ssl/server.pem';
logToTranscript;
start;
yourself.