Python & SSL
John J. Lee
jjl at pobox.com
Tue May 2 22:06:22 EDT 2006
James Stroud <jstroud at ucla.edu> writes:
> I have been trying to make an https client with python, but it seems
What exactly do you mean by "make an https client"?
> that, to do this, one needs to have the socket module compiled with ssl.
> This is not the default. So I have a couple of questions.
>
> 1. Where do I specify to compile socket with ssl? I found no
> obvious option in configure or setup.py or several other
> files I checked.
What OS are you on?
> 2. Is there a way to do this without re-compiling all of python?
Are you sure it's NOT compiled in? But, if it's not compiled, it's
not compiled.
> Also, I have done numerous combinations of searches with ssl, https, &
> python as terms, but I haven't found a page outlining the steps to make
> a certificate and key that python understands. Has anyone been
> successful at this? Did you use openssl? I want to make sure I am doing
> this part correctly.
Since you say "make a certificate", and mention "https client", it
sounds like you want to authenticate yourself to an HTTP server using
an SSL certificate? If so, I don't believe the issue Benji raised is
relevant (that issue is relevant for fetching HTTPS URLs rather than
authenticating yourself to a server using an SSL certificate, I
think).
urllib claims to have support for this in the form of the key_file and
cert_file arguments to Urlopener constructor (UNTESTED):
import urllib
opener = urllib.URLopener(key_file="/path/to/my_key_file",
cert_file="/path/to/my_cert_file")
response = opener.open(url)
I can't claim to know that it actually works, though...
John
More information about the Python-list
mailing list