classification
Title: urllib SSL authentication docs are wrong
Type: Stage:
Components: Documentation Versions: Python 2.3
process
Status: closed Resolution: accepted
Dependencies: Superseder:
Assigned To: akuchling Nosy List: akuchling, fdrake, jjlee, loewis, nobody
Priority: normal Keywords: patch

Created on 2003-08-23 00:15 by jjlee, last changed 2006-07-30 00:42 by nobody. This issue is now closed.

Files
File name Uploaded Description Edit
urllib_auth_patch jjlee, 2003-08-23 00:15
ssl-client.py nobody, 2006-07-30 00:42
Messages (6)
msg44501 - (view) Author: John J Lee (jjlee) Date: 2003-08-23 00:15
urllib docs for URLOpener say: 
 
Additional keyword parameters, collected in x509, are 
used for authentication with the https: scheme. The 
keywords key_file and cert_file are supported; both are 
needed to actually retrieve a resource at an https: URL. 
 
 
They're not needed, and the certificate is never 
checked, because _ssl.c doesn't check it (which is 
documented in the socket.ssl docs). 
 
A doc patch is attached. 
msg44502 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-08-31 16:16
Logged In: YES 
user_id=21627

Isn't the purpose of these arguments client-side authentication?
msg44503 - (view) Author: John J Lee (jjlee) Date: 2003-08-31 18:09
Logged In: YES 
user_id=261020

<Googles for x509>  Ah.  That appears to be true.  In that 
case, do you agree that the following is still wrong (taken from 
urllib.URLOpener docs)? 
 
Additional keyword parameters, collected in x509, are used for 
authentication with the https: scheme. The keywords key_file 
and cert_file are supported; both are needed to actually 
retrieve a resource at an https: URL. 
 
 
You don't need either dict entry for opening most https: URLs.  
Also, it gives no clue that x509 is for client authentication, and 
that server authentication is not done. 
msg44504 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2003-08-31 18:27
Logged In: YES 
user_id=21627

Sure, I agree the current documentation is wrong. It would
be good to test the feature before correcting the
documentation, though.
msg44505 - (view) Author: Fred L. Drake, Jr. (fdrake) (Python committer) Date: 2006-06-10 20:20
Logged In: YES 
user_id=3066

This should be handled by someone who knows something about
the SSL API.  I'm not at all sure why I assigned it to
myself to begin with.
msg44506 - (view) Author: Nobody/Anonymous (nobody) Date: 2006-07-30 00:42
Logged In: NO 

Patch applied to docs in rev. 50962.

The feature of providing a client cert does seem to work.  I verified this by 
running "openssl s_server -accept 8000 -www -cert server.cert  -key 
server.key  -verify 1" to provide a server on port 8000, and then running the 
attached client script.  (You'll need to generate client and server keys and 
certs first.)  On running the script, the server prints messages showing that 
it's received a certificate.

Therefore, I'm closing this patch.
History
Date User Action Args
2003-08-23 00:15:01jjleecreate