我试图在python脚本中实现SSL。我通过浏览页面并接受自签名证书获得了证书。然后我从Firefox导出它,并将其作为.pem保存到我的桌面。
代码是:
sslcertlocation = '/Users/derjur/Desktop/MYHOST.mydomain.local.pem'
idpentryurl = 'https://MYHOST.mydomain.local:443/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices'
session = requests.Session()
response = session.get(idpentryurl, verify=sslcertlocation)
错误是:
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
MYHOST在Windows 2008 R2下运行iis7。完整脚本基于SAML / ADFS脚本,如本博客中所述: http://blogs.aws.amazon.com/security/post/Tx1LDN0UBGJJ26Q/How-to-Implement-Federated-API-and-CLI-Access-Using-SAML-2-0-and-AD-FS#postCommentsTx1LDN0UBGJJ26Q
脚本的非SSL部分正在按预期工作。有趣的是,评论中没有人提到SSL ......
答案 0 :(得分:0)
我认为你正在设置错误的论点。根据requests.Session(),get()将verify的可选参数 - 布尔值 - 发送到request()。
根据request.Session()。request(),传入证书的参数是cert = / path / to / cert.pem,它也被检查为字符串是路径或元组是(证书,密钥)对。