【发布时间】:2011-09-22 14:01:36
【问题描述】:
我正在编写一些应该从受 SSL 保护的网页获取信息的软件。下面是我用来连接服务器的一段代码。
s = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = ssl.wrap_socket (
s,
ca_certs = '/home/stilz/Desktop/Certyfikaty/GLOWNE_CA.cer',
cert_reqs = ssl.CERT_REQUIRED,
ssl_version = ssl.PROTOCOL_SSLv3,
)
ssl_sock.connect ((HOST, PORT))
但是,这不起作用。它抛出异常消息“握手警报失败”。我捕获了一些来自我的脚本的 TCP 数据包以及来自 Internet Explorer 的相应数据包,并发现我的脚本根本不发送证书(服务器返回类似“致命:未提供证书”),而 IE 正常发送它。据我所知,文件 ca.cer 是 x509 证书(以“-----BEGIN CERTIFICATE-----”开头)。
请帮助我,告诉我我做错了什么。如果我提供的信息很少,请告诉我。
问候
【问题讨论】:
-
欢迎来到 SO。您可以通过编辑来更新您自己的问题。您可以为问题投票(赞成或反对),如果您得到满足您需求并回答了您的问题的答案,您可以将其标记为答案
-
同意@Eugene。您可以在问题中说,这是关于在 Windows 下使用智能卡上的证书/私钥(如果它在 Windows 下?...
/home/stilz/Desktop/看起来不像)。
标签: python ssl ssl-certificate x509 handshake