homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author isalsberg
Recipients isalsberg, kiilerix, ned.deily, ronaldoussoren
Date 2011年09月23日.19:13:55
SpamBayes Score 2.9976022e-15
Marked as misclassified No
Message-id <1316805236.43.0.327638493919.issue11725@psf.upfronthosting.co.za>
In-reply-to
Content
The output for the command: 
 $ openssl s_client -connect www.finratrace.org:443
was the same on MAC OS X 10.6 and on Red hat 5 (https works fine under linux).
Nevertheless, Ned Deily is right: the bug is on the openssl libs supplied with OS X 10.6 
To solve this issue, I compiled and install OpenSSL 1.0.0d and then link python against this library.
This is the full recipe, step by step:
1. Install openssl. 
 Download the source tar for openssl. I used version openssl-1.0.0d.
 To build 64-bit library, then you have to invoke 
 './Configure darwin64-x86_64-cc' *manually*. Also, to make ssl work in python,
 the openssl libraries must be 'shared libraries'. 
 
 First, Expand the tar file into a temporary directory, I am using /tmp:
 
 $ cd /tmp
 
 $ tar xvzf openssl-1.0.0d.tar.gz
 
 $ cd openssl-1.0.0d
 
 To Build openssl as 64 bits shared libraries and install it:
 
 $ ./Configure darwin64-x86_64-cc shared
 
 $ make 
 
 $ make test # this step is optional
 
 $ sudo make install
 
 
 This will install openssl in the default directory: /usr/local/ssl
 
2. Compile and install python. 
 Download the source tar file. I used version Python 2.7.2
 
 a) Expand the tar file (again into a temporary directory)
 
 b) then go into the Modules folder
 
 c) vi the Setup.dist file, looking for the SSL string (if your are not familiar 
 with vi, you can use any text editor), then uncomment the lines BELLOW the 
 message:
 
 "# Socket module helper for SSL support ..."
 
 Your file must look as follows:
 
 
# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c \
 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
 -L$(SSL)/lib -lssl -lcrypto
 
 
 d) Then using python defaults (installing under /usr/local) execute:
 
 $ ./configure 
 $ make
 $ make test # optional
 $ sudo make install
 
3. To test if python now has ssl support, start python and execute
 these commands (be sure you invoke the new python under /usr/local/bin):
imac:~ isaac$ /usr/local/bin/python
Python 2.7.2 (default, Jun 30 2011, 16:00:06) 
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import httplib
>>> hasattr(httplib, 'HTTPS')
True
>>> # MUST be True, otherwise has NO ssl support
... 
>>> import socket
>>> hasattr(socket,'ssl')
True
>>> # MUST be True, otherwise has NO ssl support
... 
>>> import _ssl
>>> # should NOT give any error when importing
... 
>>> 
That's all, now you have ssl support with python under MAC OS X 10.6
History
Date User Action Args
2011年09月23日 19:13:57isalsbergsetrecipients: + isalsberg, ronaldoussoren, ned.deily, kiilerix
2011年09月23日 19:13:56isalsbergsetmessageid: <1316805236.43.0.327638493919.issue11725@psf.upfronthosting.co.za>
2011年09月23日 19:13:55isalsberglinkissue11725 messages
2011年09月23日 19:13:55isalsbergcreate

AltStyle によって変換されたページ (->オリジナル) /