[foaf-protocols] Safari 4.01 (5530.18) ssl bugs

Story Henry henry.story at bblfish.net
Sun Jun 21 21:38:11 CEST 2009

After a number of upgrades, I recently ended up with Safari 4.01 on my  
OSX leopard 10.5.7 laptop. Again it seems to me that the  
implementation of SSL has not improved in this release, which again is  
a pitty given that user friendliness of the OS on the whole. These  
failures do make evident the usefulness of the OpenId hack, as a  
fallback position for broken browsers.

It would be very helpful to get some feedback from others on this list  
to verify that this does indeed show up a bug in Safari rather than  
our code. We can then use this to help improve our bug reports to  
Apple and hopefully get this fixed quickly.

I have a large number of SSL certificates in my KeyChain. One self  
signed certificate created using the manual procedure described in [1]  
and one generated using the  foafssl.net certification service.

Here are some of the experiences I did:

1. If I click on the http://foaf.me/entry.php test link I immediately  
get a response stating that no certificate was detected. Safari does  
not ask me for any certificate either. foaf.me has a very complete  
description of how it is set up, which should help the engineers at  
Apple duplicate the behavior.

Here are the packets going over the wire captured with Wireshark

-------------- next part --------------
A non-text attachment was scrubbed...
Name: safari3-foaf.me.simpleLogin.pcap
Type: application/octet-stream
Size: 15380 bytes
Desc: not available
Url : http://lists.foaf-project.org/pipermail/foaf-protocols/attachments/20090621/85ee0fb9/attachment-0004.obj 
-------------- next part --------------

I am not yet very good at interpreting these, but I think I don't see  
the server asking for a client certificate - though this may well be  
encrypted. If you have access to the private key then you can look at  
the encrypted packets by using

2. With our great Cheese Club at https://ophelia.g5n.co.uk:10443/cheese/
I also do not get a request for a certificate, and I am also not  
logged in: the server claiming not to have received a certificate.

Here are the packets going over the wire:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: safari3-cheese.club.2.pcap
Type: application/octet-stream
Size: 9992 bytes
Desc: not available
Url : http://lists.foaf-project.org/pipermail/foaf-protocols/attachments/20090621/85ee0fb9/attachment-0005.obj 
-------------- next part --------------

(Because the Cheese Club is not on the default SSL port, it is helpful  
to tell Wireshark to interpret the packets as SSL ones. To do this  
right click on the packet window, and choose "Decode As..." and select  
SSL in the window that pops up).

Here it is clear that the server asks for the client certificate:  
packet 6 with protocol TLSv1 and Info: "Server Hello, Certificate,  
Certificate Request, Server Hello Do" that the server requests the  
certificate of the Client. Inspecting the content of packet 6 confirms  

And indeed packet 8 that follows is meant to be a certificate return  
packet. Except that it does not contain a certificate.

3. To help compare the above with what Firefox produces I decided to  
capture the http://foaf.me/entry.php packets. Firefox does ask me for  
the certificate. But I can't find out where this certificate is in the  
packets log:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: firefox-foaf.me.simpleLogin.pcap
Type: application/octet-stream
Size: 24961 bytes
Desc: not available
Url : http://lists.foaf-project.org/pipermail/foaf-protocols/attachments/20090621/85ee0fb9/attachment-0006.obj 
-------------- next part --------------

Perhaps they are in the message content? Any ideas?

4. So to get a clearer idea I also did the same with Firefox 3.5b4 for  
the Cheese Club, Firefox also asks me for the certificate, and as seen  
in packet 8 below, the certificate is indeed sent over the wire

-------------- next part --------------
A non-text attachment was scrubbed...
Name: firefox-cheese.club.2.pcap
Type: application/octet-stream
Size: 33476 bytes
Desc: not available
Url : http://lists.foaf-project.org/pipermail/foaf-protocols/attachments/20090621/85ee0fb9/attachment-0007.obj 
-------------- next part --------------

So it would be worth understanding in a little more detail what is  
happening on foaf.me. Clearly the certificate is sent but in a  
different manner.  It would help to have be able to compare the  
foaf.me and the cheese clubs setup.

Any other comments?


[1] http://blogs.sun.com/bblfish/entry/foaf_ssl_a_first_implementation
[2] http://test.foaf-ssl.net/cert/

Social Web Architect
Sun Microsystems		
Blog: http://blogs.sun.com/bblfish

More information about the foaf-protocols mailing list