Python SSL CERTIFICATE_VERIFY_FAILED
Python SSL CERTIFICATE_VERIFY_FAILED
我正在使用以下代码通过 XMLRPC api 与 Magento 网上商店进行交互。 Magento API Python XMLRPC
一切正常,直到我们将 Web 服务器更改为 SSL
现在我收到以下错误。
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:581)
我不确定为什么证书会失败,因为我们有 EV 证书并且所有浏览器都显示正常。
我的连接字符串是:
我该如何解决这个问题/覆盖代码
我是 Python 的新手,所以请放轻松 :o)
magento = MagentoAPI("www.website.co.uk", 443, "myUsername", "myPassword", "/api/xmlrpc", True)
Python,或者更好的是它使用的OpenSSL库,无法验证服务器证书的有效性。可能的原因有很多:配置错误、缺少中间证书或 CA 证书、CN 错误...
第一步可能是访问此站点并让它测试服务器的 SSL/TLS 功能:https://www.ssllabs.com/ssltest/
它还会为您提供解决问题的提示。
Python 通过它自己的包验证证书,通过
检查它所在的位置
>>> import certifi
>>> certifi.where()
'/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/certifi/cacert.pem'
并将您的证书添加到该文件的末尾。
我正在使用以下代码通过 XMLRPC api 与 Magento 网上商店进行交互。 Magento API Python XMLRPC
一切正常,直到我们将 Web 服务器更改为 SSL
现在我收到以下错误。
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:581)
我不确定为什么证书会失败,因为我们有 EV 证书并且所有浏览器都显示正常。
我的连接字符串是:
我该如何解决这个问题/覆盖代码
我是 Python 的新手,所以请放轻松 :o)
magento = MagentoAPI("www.website.co.uk", 443, "myUsername", "myPassword", "/api/xmlrpc", True)
Python,或者更好的是它使用的OpenSSL库,无法验证服务器证书的有效性。可能的原因有很多:配置错误、缺少中间证书或 CA 证书、CN 错误...
第一步可能是访问此站点并让它测试服务器的 SSL/TLS 功能:https://www.ssllabs.com/ssltest/
它还会为您提供解决问题的提示。
Python 通过它自己的包验证证书,通过
检查它所在的位置>>> import certifi
>>> certifi.where()
'/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-
packages/certifi/cacert.pem'
并将您的证书添加到该文件的末尾。