[Pharo-project] Has anyone used Zodiac and Seaside to for https?
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
Hi there Mariano, On 18 Apr 2013, at 22:03, Mariano Martinez Peck <marianopeck@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
On 18 Apr 2013, at 22:23, Sven Van Caekenberghe <sven@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
On 18 Apr 2013, at 22:56, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 18 Apr 2013, at 22:23, Sven Van Caekenberghe <sven@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 []:sven@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=sven@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.
On 18 April 2013 22:23, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi there Mariano,
On 18 Apr 2013, at 22:03, Mariano Martinez Peck <marianopeck@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.
why? anything i can help with?
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
_______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-- Best regards, Igor Stasenko.
Igor, On 18 Apr 2013, at 23:21, Igor Stasenko <siguctua@gmail.com> wrote:
why? anything i can help with?
Well, last time I looked (eons ago), in the C code of the Mac SSL plugin, the certificate was not used/implemented. For starters, follow ZdcPluginSSLSession>>#certiificate[:] to find the primitive. Then see ihow/if that actually does something and/or is being used - in the C/plugin code. It would be really great if we could fix this. Sven -- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
From what I do see in that code:
/* Disable cert verification since we do that ourselves */ status = SSLSetEnableCertVerify(ssl->ctx, false); if(status) { if(ssl->loglevel) printf("SSLSetEnableCertVerify failed: code = %d\n", (int)status); return 0; } Hm, well, what does that means? Phil 2013/4/18 Sven Van Caekenberghe <sven@stfx.eu>
Igor,
On 18 Apr 2013, at 23:21, Igor Stasenko <siguctua@gmail.com> wrote:
why? anything i can help with?
Well, last time I looked (eons ago), in the C code of the Mac SSL plugin, the certificate was not used/implemented.
For starters, follow ZdcPluginSSLSession>>#certiificate[:] to find the primitive.
Then see ihow/if that actually does something and/or is being used - in the C/plugin code.
It would be really great if we could fix this.
Sven
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
On 18 April 2013 23:46, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Igor,
On 18 Apr 2013, at 23:21, Igor Stasenko <siguctua@gmail.com> wrote:
why? anything i can help with?
Well, last time I looked (eons ago), in the C code of the Mac SSL plugin, the certificate was not used/implemented.
For starters, follow ZdcPluginSSLSession>>#certiificate[:] to find the primitive.
Then see ihow/if that actually does something and/or is being used - in the C/plugin code.
It would be really great if we could fix this.
For some reason i was thinking that we already using bundled SSL libs for Mac VM. (so plugin works with vanilla ssl library on all platforms). Not true. We should fix that: it worked for windows, don't see why it won't work for Mac. I added this to my todo list.
Sven
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
_______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-- Best regards, Igor Stasenko.
On 19 Apr 2013, at 00:59, Igor Stasenko <siguctua@gmail.com> wrote:
For some reason i was thinking that we already using bundled SSL libs for Mac VM. (so plugin works with vanilla ssl library on all platforms). Not true. We should fix that: it worked for windows, don't see why it won't work for Mac. I added this to my todo list.
Thanks a lot, that would be really great ! Sven -- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
On Apr 19, 2013, at 12:59 AM, Igor Stasenko <siguctua@gmail.com> wrote:
On 18 April 2013 23:46, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Igor,
On 18 Apr 2013, at 23:21, Igor Stasenko <siguctua@gmail.com> wrote:
why? anything i can help with?
Well, last time I looked (eons ago), in the C code of the Mac SSL plugin, the certificate was not used/implemented.
For starters, follow ZdcPluginSSLSession>>#certiificate[:] to find the primitive.
Then see ihow/if that actually does something and/or is being used - in the C/plugin code.
It would be really great if we could fix this.
For some reason i was thinking that we already using bundled SSL libs for Mac VM.
we are. but I remember there where a problem with certificates and mac...
(so plugin works with vanilla ssl library on all platforms). Not true. We should fix that: it worked for windows, don't see why it won't work for Mac. I added this to my todo list.
Sven
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
_______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-- Best regards, Igor Stasenko. _______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
I forgot to thanks this thread. Thanks Sven for your help, it was very helpful and much appreciated! On Fri, Apr 19, 2013 at 7:01 AM, Esteban Lorenzano <estebanlm@gmail.com>wrote:
On Apr 19, 2013, at 12:59 AM, Igor Stasenko <siguctua@gmail.com> wrote:
On 18 April 2013 23:46, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Igor,
On 18 Apr 2013, at 23:21, Igor Stasenko <siguctua@gmail.com> wrote:
why? anything i can help with?
Well, last time I looked (eons ago), in the C code of the Mac SSL plugin, the certificate was not used/implemented.
For starters, follow ZdcPluginSSLSession>>#certiificate[:] to find the primitive.
Then see ihow/if that actually does something and/or is being used - in the C/plugin code.
It would be really great if we could fix this.
For some reason i was thinking that we already using bundled SSL libs for Mac VM.
we are. but I remember there where a problem with certificates and mac...
(so plugin works with vanilla ssl library on all platforms). Not true. We should fix that: it worked for windows, don't see why it won't work for Mac. I added this to my todo list.
Sven
-- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org
_______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-- Best regards, Igor Stasenko. _______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
_______________________________________________ seaside mailing list seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-- Mariano http://marianopeck.wordpress.com
participants (5)
-
Esteban Lorenzano -
Igor Stasenko -
Mariano Martinez Peck -
phil@highoctane.be -
Sven Van Caekenberghe