WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /simple/frida-tools/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /simple/frida-tools/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /simple/frida-tools/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /simple/frida-tools/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))': /simple/frida-tools/
Could not fetch URL https://pypi.org/simple/frida-tools/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/frida-tools/ (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)'))) - skippin
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
python3 ssl验证出错,因为开启了https代理, (启动了charles工具)
我知道怎么解决这个问题, 就是关闭代理工具。但是我想探探它怎么验证的, 因为浏览器可以
以下是我的分析过程: 不想看过程的同学,可以直接看我的另一篇博客,这是完美解决方案:
1. 写了一个nodejs代码做测试, 这个是http, 直接请求, charles并没有抓到包
const axios = require('axios');
async function requestBaidu() {
try {
const response = await axios.get('http://www.baidu.com');
console.log('Status Code:', response.status);
console.log('Response Headers:', response.headers);
console.log('Response Data:', response.data.substring(0, 100)); // 输出前100个字符
} catch (error) {
console.error('Error requesting Baidu:', error);
}
}
requestBaidu();
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
我发现了在命令行设置: export HTTP_PROXY="http://127.0.0.1:8888", 再次运行就可以抓到了。
2. 继续探路, 用python试试
执行结果非常好,Charles能抓包到,
通过1和2,说明了python3默认是走代理的! (后面的步骤说明不是python3默认走代理,而是requests默认走代理)
3. 将1和2的代码,全部改成https
在设置了HTTP(S)_PROXY的终端分别执行js和python脚本: js可以正常访问,能抓包。 python不能正常访问,能抓包
在没有设置HTTP(S)_PROXY的终端分别执行js和python脚本: js可以正常访问,没抓到包。 python不能正常访问,能抓包
通过这些测试发现了一点东西,python默认走系统代码,并且验证比nodejs严格。 nodejs默认不走代理,如果设置了环境变量代理,相当于和浏览器一样了。
4. 这个结论比较有趣, 不过至少可以证明任何程序,走不走代理是app应用自己说了算! 下面的python代码,证明了这个结论:
import http.client
# 创建连接
connection = http.client.HTTPConnection('baidu.com')
# 发送 GET 请求
connection.request('GET', '/') # 你可以根据需要更改请求路径
# 获取响应
response = connection.getresponse()
# 输出状态和内容
print(f'Status: {response.status}, Reason: {response.reason}')
print(response.read().decode())
# 关闭连接
connection.close()
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
使用最原始的请求, 不管有没有设置http_proxy, 它都不会走代理。对它进行改造
我通过断点跟踪,发现requests库默认环境变量和系统代理。 优先获取代理环境变量,然后在获取系统代理。
def getproxies():
return getproxies_environment() or getproxies_macosx_sysconf()
nodejs axios 仅仅只是获取代理环境变量.
5. 那么现在就只有一个问题: 都走代理的情况下, 为啥nodejs可以,python不行
开启逆向之旅:
hopper载入:
/usr/local/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload/_ssl.cpython-312-darwin.so
没有搜索到,那么查看这个so的依赖:发现了
/usr/local/opt/openssl@3/lib/libssl.3.dylib
hopper 载入它:
还是没有, 我确定它是openssl报出来的, 那么就全局查找吧, 发现了:
居然在libcrypto.3.dylib里面, 简直不敢相信, 好吧,继续跟踪它:
继续跟踪,看下它的触发条件,发现没有任何地方引用它... 那么就在网上拉去openssl源码吧, 它是开源的:
https://openssl-library.org/source/index.html
错误编号:X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN
python里有一个验证选项,如果为true,那么
:param verify: (optional) Either a boolean, in which case it controls whether we verify
the server's TLS certificate, or a string, in which case it must be a path
to a CA bundle to use. Defaults to ``True``.
@verify_mode.setter
def verify_mode(self, value: ssl.VerifyMode) -> None:
self._ctx.set_verify(_stdlib_to_openssl_verify[value], _verify_callback)
这个_ctx.set_verify方法 实际调用的是:openssl库里的 SSL_CTX_set_verify方法
mode模式有这么几个值, 默认是SSL_VERIFY_PEER, 这就是
# define SSL_VERIFY_NONE 0x00
# define SSL_VERIFY_PEER 0x01
# define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02
# define SSL_VERIFY_CLIENT_ONCE 0x04
# define SSL_VERIFY_POST_HANDSHAKE 0x08
如果不指定道verify参数,那么就是CERT_REQUIRED.
python3 也就是会默认使用VERIFY_PEER 模式,这个模式就是会让openssl库进行证书检查! 看了nodejs相关源码, https默认的模式是VERIFY_NONE, 所以不会进行任何报错!
解决方案,证书验证的时候
1. requests.get("httpsUrl", verify=False)
2. 控制台 export REQUESTS_CA_BUNDLE=/path/charles-ssl-proxying-certificate.pem
或者export CURL_CA_BUNDLE=/path/charles-ssl-proxying-certificate.pem
3. requests.get('https://example.com', cert=('path/to/client.crt', 'path/to/client.key'), verify=cert_path)
总之请求域名要和证书能匹配上否则一律报错。
python3里内置了一个证书:
openssl@3 openssl crl2pkcs7 -nocrl -certfile /usr/local/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/certifi/cacert.pem | openssl pkcs7 -print_certs -noout
subject=C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA
issuer=C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA
subject=O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
issuer=O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048)
subject=C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
issuer=C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root
subject=C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
issuer=C=US, O=Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, OU=(c) 2006 Entrust, Inc., CN=Entrust Root Certification Authority
subject=C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=AAA Certificate Services
issuer=C=GB, ST=Greater Manchester, L=Salford, O=Comodo CA Limited, CN=AAA Certificate Services
subject=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2
issuer=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2
subject=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 3
issuer=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 3
subject=C=US, OU=www.xrampsecurity.com, O=XRamp Security Services Inc, CN=XRamp Global Certification Authority
issuer=C=US, OU=www.xrampsecurity.com, O=XRamp Security Services Inc, CN=XRamp Global Certification Authority
subject=C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
issuer=C=US, O=The Go Daddy Group, Inc., OU=Go Daddy Class 2 Certification Authority
subject=C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority
issuer=C=US, O=Starfield Technologies, Inc., OU=Starfield Class 2 Certification Authority
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root CA
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root CA
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert High Assurance EV Root CA
subject=C=CH, O=SwissSign AG, CN=SwissSign Gold CA - G2
issuer=C=CH, O=SwissSign AG, CN=SwissSign Gold CA - G2
subject=C=CH, O=SwissSign AG, CN=SwissSign Silver CA - G2
issuer=C=CH, O=SwissSign AG, CN=SwissSign Silver CA - G2
subject=C=US, O=SecureTrust Corporation, CN=SecureTrust CA
issuer=C=US, O=SecureTrust Corporation, CN=SecureTrust CA
subject=C=US, O=SecureTrust Corporation, CN=Secure Global CA
issuer=C=US, O=SecureTrust Corporation, CN=Secure Global CA
subject=C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Certification Authority
issuer=C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO Certification Authority
subject=C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO ECC Certification Authority
issuer=C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO ECC Certification Authority
subject=C=FR, O=Dhimyotis, CN=Certigna
issuer=C=FR, O=Dhimyotis, CN=Certigna
subject=C=TW, O=Chunghwa Telecom Co., Ltd., OU=ePKI Root Certification Authority
issuer=C=TW, O=Chunghwa Telecom Co., Ltd., OU=ePKI Root Certification Authority
subject=C=RO, O=certSIGN, OU=certSIGN ROOT CA
issuer=C=RO, O=certSIGN, OU=certSIGN ROOT CA
subject=C=HU, L=Budapest, O=NetLock Kft., OU=Tanúsítványkiadók (Certification Services), CN=NetLock Arany (Class Gold) Főtanúsítvány
issuer=C=HU, L=Budapest, O=NetLock Kft., OU=Tanúsítványkiadók (Certification Services), CN=NetLock Arany (Class Gold) Főtanúsítvány
subject=C=JP, O=Japan Certification Services, Inc., CN=SecureSign RootCA11
issuer=C=JP, O=Japan Certification Services, Inc., CN=SecureSign RootCA11
subject=C=HU, L=Budapest, O=Microsec Ltd., CN=Microsec e-Szigno Root CA 2009, emailAddress=info@e-szigno.hu
issuer=C=HU, L=Budapest, O=Microsec Ltd., CN=Microsec e-Szigno Root CA 2009, emailAddress=info@e-szigno.hu
subject=OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSign
issuer=OU=GlobalSign Root CA - R3, O=GlobalSign, CN=GlobalSign
subject=C=ES, O=IZENPE S.A., CN=Izenpe.com
issuer=C=ES, O=IZENPE S.A., CN=Izenpe.com
subject=C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
issuer=C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., CN=Go Daddy Root Certificate Authority - G2
subject=C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2
issuer=C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Root Certificate Authority - G2
subject=C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2
issuer=C=US, ST=Arizona, L=Scottsdale, O=Starfield Technologies, Inc., CN=Starfield Services Root Certificate Authority - G2
subject=C=US, O=AffirmTrust, CN=AffirmTrust Commercial
issuer=C=US, O=AffirmTrust, CN=AffirmTrust Commercial
subject=C=US, O=AffirmTrust, CN=AffirmTrust Networking
issuer=C=US, O=AffirmTrust, CN=AffirmTrust Networking
subject=C=US, O=AffirmTrust, CN=AffirmTrust Premium
issuer=C=US, O=AffirmTrust, CN=AffirmTrust Premium
subject=C=US, O=AffirmTrust, CN=AffirmTrust Premium ECC
issuer=C=US, O=AffirmTrust, CN=AffirmTrust Premium ECC
subject=C=PL, O=Unizeto Technologies S.A., OU=Certum Certification Authority, CN=Certum Trusted Network CA
issuer=C=PL, O=Unizeto Technologies S.A., OU=Certum Certification Authority, CN=Certum Trusted Network CA
subject=C=TW, O=TAIWAN-CA, OU=Root CA, CN=TWCA Root Certification Authority
issuer=C=TW, O=TAIWAN-CA, OU=Root CA, CN=TWCA Root Certification Authority
subject=C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication RootCA2
issuer=C=JP, O=SECOM Trust Systems CO.,LTD., OU=Security Communication RootCA2
subject=C=IT, L=Milan, O=Actalis S.p.A./03358520967, CN=Actalis Authentication Root CA
issuer=C=IT, L=Milan, O=Actalis S.p.A./03358520967, CN=Actalis Authentication Root CA
subject=C=NO, O=Buypass AS-983163327, CN=Buypass Class 2 Root CA
issuer=C=NO, O=Buypass AS-983163327, CN=Buypass Class 2 Root CA
subject=C=NO, O=Buypass AS-983163327, CN=Buypass Class 3 Root CA
issuer=C=NO, O=Buypass AS-983163327, CN=Buypass Class 3 Root CA
subject=C=DE, O=T-Systems Enterprise Services GmbH, OU=T-Systems Trust Center, CN=T-TeleSec GlobalRoot Class 3
issuer=C=DE, O=T-Systems Enterprise Services GmbH, OU=T-Systems Trust Center, CN=T-TeleSec GlobalRoot Class 3
subject=C=DE, O=D-Trust GmbH, CN=D-TRUST Root Class 3 CA 2 2009
issuer=C=DE, O=D-Trust GmbH, CN=D-TRUST Root Class 3 CA 2 2009
subject=C=DE, O=D-Trust GmbH, CN=D-TRUST Root Class 3 CA 2 EV 2009
issuer=C=DE, O=D-Trust GmbH, CN=D-TRUST Root Class 3 CA 2 EV 2009
subject=C=SK, L=Bratislava, O=Disig a.s., CN=CA Disig Root R2
issuer=C=SK, L=Bratislava, O=Disig a.s., CN=CA Disig Root R2
subject=CN=ACCVRAIZ1, OU=PKIACCV, O=ACCV, C=ES
issuer=CN=ACCVRAIZ1, OU=PKIACCV, O=ACCV, C=ES
subject=C=TW, O=TAIWAN-CA, OU=Root CA, CN=TWCA Global Root CA
issuer=C=TW, O=TAIWAN-CA, OU=Root CA, CN=TWCA Global Root CA
subject=O=TeliaSonera, CN=TeliaSonera Root CA v1
issuer=O=TeliaSonera, CN=TeliaSonera Root CA v1
subject=C=DE, O=T-Systems Enterprise Services GmbH, OU=T-Systems Trust Center, CN=T-TeleSec GlobalRoot Class 2
issuer=C=DE, O=T-Systems Enterprise Services GmbH, OU=T-Systems Trust Center, CN=T-TeleSec GlobalRoot Class 2
subject=CN=Atos TrustedRoot 2011, O=Atos, C=DE
issuer=CN=Atos TrustedRoot 2011, O=Atos, C=DE
subject=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 1 G3
issuer=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 1 G3
subject=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2 G3
issuer=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 2 G3
subject=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 3 G3
issuer=C=BM, O=QuoVadis Limited, CN=QuoVadis Root CA 3 G3
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root G2
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root G2
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root G3
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Assured ID Root G3
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root G2
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root G2
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root G3
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Global Root G3
subject=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Trusted Root G4
issuer=C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert Trusted Root G4
subject=C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
issuer=C=GB, ST=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Certification Authority
subject=C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority
issuer=C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority
subject=C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust ECC Certification Authority
issuer=C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust ECC Certification Authority
subject=OU=GlobalSign ECC Root CA - R5, O=GlobalSign, CN=GlobalSign
issuer=OU=GlobalSign ECC Root CA - R5, O=GlobalSign, CN=GlobalSign
subject=C=US, O=IdenTrust, CN=IdenTrust Commercial Root CA 1
issuer=C=US, O=IdenTrust, CN=IdenTrust Commercial Root CA 1
subject=C=US, O=IdenTrust, CN=IdenTrust Public Sector Root CA 1
issuer=C=US, O=IdenTrust, CN=IdenTrust Public Sector Root CA 1
subject=C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
issuer=C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2009 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G2
subject=C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
issuer=C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2012 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - EC1
subject=C=CN, O=China Financial Certification Authority, CN=CFCA EV ROOT
issuer=C=CN, O=China Financial Certification Authority, CN=CFCA EV ROOT
subject=C=CH, O=WISeKey, OU=OISTE Foundation Endorsed, CN=OISTE WISeKey Global Root GB CA
issuer=C=CH, O=WISeKey, OU=OISTE Foundation Endorsed, CN=OISTE WISeKey Global Root GB CA
subject=C=PL, O=Krajowa Izba Rozliczeniowa S.A., CN=SZAFIR ROOT CA2
issuer=C=PL, O=Krajowa Izba Rozliczeniowa S.A., CN=SZAFIR ROOT CA2
subject=C=PL, O=Unizeto Technologies S.A., OU=Certum Certification Authority, CN=Certum Trusted Network CA 2
issuer=C=PL, O=Unizeto Technologies S.A., OU=Certum Certification Authority, CN=Certum Trusted Network CA 2
subject=C=GR, L=Athens, O=Hellenic Academic and Research Institutions Cert. Authority, CN=Hellenic Academic and Research Institutions RootCA 2015
issuer=C=GR, L=Athens, O=Hellenic Academic and Research Institutions Cert. Authority, CN=Hellenic Academic and Research Institutions RootCA 2015
subject=C=GR, L=Athens, O=Hellenic Academic and Research Institutions Cert. Authority, CN=Hellenic Academic and Research Institutions ECC RootCA 2015
issuer=C=GR, L=Athens, O=Hellenic Academic and Research Institutions Cert. Authority, CN=Hellenic Academic and Research Institutions ECC RootCA 2015
subject=C=US, O=Internet Security Research Group, CN=ISRG Root X1
issuer=C=US, O=Internet Security Research Group, CN=ISRG Root X1
subject=C=ES, O=FNMT-RCM, OU=AC RAIZ FNMT-RCM
issuer=C=ES, O=FNMT-RCM, OU=AC RAIZ FNMT-RCM
subject=C=US, O=Amazon, CN=Amazon Root CA 1
issuer=C=US, O=Amazon, CN=Amazon Root CA 1
subject=C=US, O=Amazon, CN=Amazon Root CA 2
issuer=C=US, O=Amazon, CN=Amazon Root CA 2
subject=C=US, O=Amazon, CN=Amazon Root CA 3
issuer=C=US, O=Amazon, CN=Amazon Root CA 3
subject=C=US, O=Amazon, CN=Amazon Root CA 4
issuer=C=US, O=Amazon, CN=Amazon Root CA 4
subject=C=TR, L=Gebze - Kocaeli, O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK, OU=Kamu Sertifikasyon Merkezi - Kamu SM, CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
issuer=C=TR, L=Gebze - Kocaeli, O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK, OU=Kamu Sertifikasyon Merkezi - Kamu SM, CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
subject=C=CN, O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD., CN=GDCA TrustAUTH R5 ROOT
issuer=C=CN, O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD., CN=GDCA TrustAUTH R5 ROOT
subject=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com Root Certification Authority RSA
issuer=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com Root Certification Authority RSA
subject=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com Root Certification Authority ECC
issuer=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com Root Certification Authority ECC
subject=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com EV Root Certification Authority RSA R2
issuer=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com EV Root Certification Authority RSA R2
subject=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com EV Root Certification Authority ECC
issuer=C=US, ST=Texas, L=Houston, O=SSL Corporation, CN=SSL.com EV Root Certification Authority ECC
subject=OU=GlobalSign Root CA - R6, O=GlobalSign, CN=GlobalSign
issuer=OU=GlobalSign Root CA - R6, O=GlobalSign, CN=GlobalSign
subject=C=CH, O=WISeKey, OU=OISTE Foundation Endorsed, CN=OISTE WISeKey Global Root GC CA
issuer=C=CH, O=WISeKey, OU=OISTE Foundation Endorsed, CN=OISTE WISeKey Global Root GC CA
subject=C=CN, O=UniTrust, CN=UCA Global G2 Root
issuer=C=CN, O=UniTrust, CN=UCA Global G2 Root
subject=C=CN, O=UniTrust, CN=UCA Extended Validation Root
issuer=C=CN, O=UniTrust, CN=UCA Extended Validation Root
subject=C=FR, O=Dhimyotis, OU=0002 48146308100036, CN=Certigna Root CA
issuer=C=FR, O=Dhimyotis, OU=0002 48146308100036, CN=Certigna Root CA
subject=C=IN, OU=emSign PKI, O=eMudhra Technologies Limited, CN=emSign Root CA - G1
issuer=C=IN, OU=emSign PKI, O=eMudhra Technologies Limited, CN=emSign Root CA - G1
subject=C=IN, OU=emSign PKI, O=eMudhra Technologies Limited, CN=emSign ECC Root CA - G3
issuer=C=IN, OU=emSign PKI, O=eMudhra Technologies Limited, CN=emSign ECC Root CA - G3
subject=C=US, OU=emSign PKI, O=eMudhra Inc, CN=emSign Root CA - C1
issuer=C=US, OU=emSign PKI, O=eMudhra Inc, CN=emSign Root CA - C1
subject=C=US, OU=emSign PKI, O=eMudhra Inc, CN=emSign ECC Root CA - C3
issuer=C=US, OU=emSign PKI, O=eMudhra Inc, CN=emSign ECC Root CA - C3
subject=C=HK, ST=Hong Kong, L=Hong Kong, O=Hongkong Post, CN=Hongkong Post Root CA 3
issuer=C=HK, ST=Hong Kong, L=Hong Kong, O=Hongkong Post, CN=Hongkong Post Root CA 3
subject=C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2015 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G4
issuer=C=US, O=Entrust, Inc., OU=See www.entrust.net/legal-terms, OU=(c) 2015 Entrust, Inc. - for authorized use only, CN=Entrust Root Certification Authority - G4
subject=C=US, O=Microsoft Corporation, CN=Microsoft ECC Root Certificate Authority 2017
issuer=C=US, O=Microsoft Corporation, CN=Microsoft ECC Root Certificate Authority 2017
subject=C=US, O=Microsoft Corporation, CN=Microsoft RSA Root Certificate Authority 2017
issuer=C=US, O=Microsoft Corporation, CN=Microsoft RSA Root Certificate Authority 2017
subject=C=HU, L=Budapest, O=Microsec Ltd., organizationIdentifier=VATHU-23584497, CN=e-Szigno Root CA 2017
issuer=C=HU, L=Budapest, O=Microsec Ltd., organizationIdentifier=VATHU-23584497, CN=e-Szigno Root CA 2017
subject=C=RO, O=CERTSIGN SA, OU=certSIGN ROOT CA G2
issuer=C=RO, O=CERTSIGN SA, OU=certSIGN ROOT CA G2
subject=C=US, ST=Illinois, L=Chicago, O=Trustwave Holdings, Inc., CN=Trustwave Global Certification Authority
issuer=C=US, ST=Illinois, L=Chicago, O=Trustwave Holdings, Inc., CN=Trustwave Global Certification Authority
subject=C=US, ST=Illinois, L=Chicago, O=Trustwave Holdings, Inc., CN=Trustwave Global ECC P256 Certification Authority
issuer=C=US, ST=Illinois, L=Chicago, O=Trustwave Holdings, Inc., CN=Trustwave Global ECC P256 Certification Authority
subject=C=US, ST=Illinois, L=Chicago, O=Trustwave Holdings, Inc., CN=Trustwave Global ECC P384 Certification Authority
issuer=C=US, ST=Illinois, L=Chicago, O=Trustwave Holdings, Inc., CN=Trustwave Global ECC P384 Certification Authority
subject=C=KR, O=NAVER BUSINESS PLATFORM Corp., CN=NAVER Global Root Certification Authority
issuer=C=KR, O=NAVER BUSINESS PLATFORM Corp., CN=NAVER Global Root Certification Authority
subject=C=ES, O=FNMT-RCM, OU=Ceres, organizationIdentifier=VATES-Q2826004J, CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS
issuer=C=ES, O=FNMT-RCM, OU=Ceres, organizationIdentifier=VATES-Q2826004J, CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS
subject=C=BE, O=GlobalSign nv-sa, CN=GlobalSign Root R46
issuer=C=BE, O=GlobalSign nv-sa, CN=GlobalSign Root R46
subject=C=BE, O=GlobalSign nv-sa, CN=GlobalSign Root E46
issuer=C=BE, O=GlobalSign nv-sa, CN=GlobalSign Root E46
subject=C=AT, O=e-commerce monitoring GmbH, CN=GLOBALTRUST 2020
issuer=C=AT, O=e-commerce monitoring GmbH, CN=GLOBALTRUST 2020
subject=serialNumber=G63287510, C=ES, O=ANF Autoridad de Certificacion, OU=ANF CA Raiz, CN=ANF Secure Server Root CA
issuer=serialNumber=G63287510, C=ES, O=ANF Autoridad de Certificacion, OU=ANF CA Raiz, CN=ANF Secure Server Root CA
subject=C=PL, O=Asseco Data Systems S.A., OU=Certum Certification Authority, CN=Certum EC-384 CA
issuer=C=PL, O=Asseco Data Systems S.A., OU=Certum Certification Authority, CN=Certum EC-384 CA
subject=C=PL, O=Asseco Data Systems S.A., OU=Certum Certification Authority, CN=Certum Trusted Root CA
issuer=C=PL, O=Asseco Data Systems S.A., OU=Certum Certification Authority, CN=Certum Trusted Root CA
subject=C=TN, O=Agence Nationale de Certification Electronique, CN=TunTrust Root CA
issuer=C=TN, O=Agence Nationale de Certification Electronique, CN=TunTrust Root CA
subject=C=GR, O=Hellenic Academic and Research Institutions CA, CN=HARICA TLS RSA Root CA 2021
issuer=C=GR, O=Hellenic Academic and Research Institutions CA, CN=HARICA TLS RSA Root CA 2021
subject=C=GR, O=Hellenic Academic and Research Institutions CA, CN=HARICA TLS ECC Root CA 2021
issuer=C=GR, O=Hellenic Academic and Research Institutions CA, CN=HARICA TLS ECC Root CA 2021
subject=C=ES, CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
issuer=C=ES, CN=Autoridad de Certificacion Firmaprofesional CIF A62634068
subject=C=CN, O=iTrusChina Co.,Ltd., CN=vTrus ECC Root CA
issuer=C=CN, O=iTrusChina Co.,Ltd., CN=vTrus ECC Root CA
subject=C=CN, O=iTrusChina Co.,Ltd., CN=vTrus Root CA
issuer=C=CN, O=iTrusChina Co.,Ltd., CN=vTrus Root CA
subject=C=US, O=Internet Security Research Group, CN=ISRG Root X2
issuer=C=US, O=Internet Security Research Group, CN=ISRG Root X2
subject=C=TW, O=Chunghwa Telecom Co., Ltd., CN=HiPKI Root CA - G1
issuer=C=TW, O=Chunghwa Telecom Co., Ltd., CN=HiPKI Root CA - G1
subject=OU=GlobalSign ECC Root CA - R4, O=GlobalSign, CN=GlobalSign
issuer=OU=GlobalSign ECC Root CA - R4, O=GlobalSign, CN=GlobalSign
subject=C=US, O=Google Trust Services LLC, CN=GTS Root R1
issuer=C=US, O=Google Trust Services LLC, CN=GTS Root R1
subject=C=US, O=Google Trust Services LLC, CN=GTS Root R2
issuer=C=US, O=Google Trust Services LLC, CN=GTS Root R2
subject=C=US, O=Google Trust Services LLC, CN=GTS Root R3
issuer=C=US, O=Google Trust Services LLC, CN=GTS Root R3
subject=C=US, O=Google Trust Services LLC, CN=GTS Root R4
issuer=C=US, O=Google Trust Services LLC, CN=GTS Root R4
subject=C=FI, O=Telia Finland Oyj, CN=Telia Root CA v2
issuer=C=FI, O=Telia Finland Oyj, CN=Telia Root CA v2
subject=C=DE, O=D-Trust GmbH, CN=D-TRUST BR Root CA 1 2020
issuer=C=DE, O=D-Trust GmbH, CN=D-TRUST BR Root CA 1 2020
subject=C=DE, O=D-Trust GmbH, CN=D-TRUST EV Root CA 1 2020
issuer=C=DE, O=D-Trust GmbH, CN=D-TRUST EV Root CA 1 2020
subject=C=US, O=DigiCert, Inc., CN=DigiCert TLS ECC P384 Root G5
issuer=C=US, O=DigiCert, Inc., CN=DigiCert TLS ECC P384 Root G5
subject=C=US, O=DigiCert, Inc., CN=DigiCert TLS RSA4096 Root G5
issuer=C=US, O=DigiCert, Inc., CN=DigiCert TLS RSA4096 Root G5
subject=C=US, O=Certainly, CN=Certainly Root R1
issuer=C=US, O=Certainly, CN=Certainly Root R1
subject=C=US, O=Certainly, CN=Certainly Root E1
issuer=C=US, O=Certainly, CN=Certainly Root E1
subject=C=JP, O=SECOM Trust Systems CO.,LTD., CN=Security Communication RootCA3
issuer=C=JP, O=SECOM Trust Systems CO.,LTD., CN=Security Communication RootCA3
subject=C=JP, O=SECOM Trust Systems CO.,LTD., CN=Security Communication ECC RootCA1
issuer=C=JP, O=SECOM Trust Systems CO.,LTD., CN=Security Communication ECC RootCA1
subject=C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA1
issuer=C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA1
subject=C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA2
issuer=C=CN, O=BEIJING CERTIFICATE AUTHORITY, CN=BJCA Global Root CA2
subject=C=GB, O=Sectigo Limited, CN=Sectigo Public Server Authentication Root E46
issuer=C=GB, O=Sectigo Limited, CN=Sectigo Public Server Authentication Root E46
subject=C=GB, O=Sectigo Limited, CN=Sectigo Public Server Authentication Root R46
issuer=C=GB, O=Sectigo Limited, CN=Sectigo Public Server Authentication Root R46
subject=C=US, O=SSL Corporation, CN=SSL.com TLS RSA Root CA 2022
issuer=C=US, O=SSL Corporation, CN=SSL.com TLS RSA Root CA 2022
subject=C=US, O=SSL Corporation, CN=SSL.com TLS ECC Root CA 2022
issuer=C=US, O=SSL Corporation, CN=SSL.com TLS ECC Root CA 2022
subject=CN=Atos TrustedRoot Root CA ECC TLS 2021, O=Atos, C=DE
issuer=CN=Atos TrustedRoot Root CA ECC TLS 2021, O=Atos, C=DE
subject=CN=Atos TrustedRoot Root CA RSA TLS 2021, O=Atos, C=DE
issuer=CN=Atos TrustedRoot Root CA RSA TLS 2021, O=Atos, C=DE
subject=C=CN, O=TrustAsia Technologies, Inc., CN=TrustAsia Global Root CA G3
issuer=C=CN, O=TrustAsia Technologies, Inc., CN=TrustAsia Global Root CA G3
subject=C=CN, O=TrustAsia Technologies, Inc., CN=TrustAsia Global Root CA G4
issuer=C=CN, O=TrustAsia Technologies, Inc., CN=TrustAsia Global Root CA G4
subject=C=US, O=CommScope, CN=CommScope Public Trust ECC Root-01
issuer=C=US, O=CommScope, CN=CommScope Public Trust ECC Root-01
subject=C=US, O=CommScope, CN=CommScope Public Trust ECC Root-02
issuer=C=US, O=CommScope, CN=CommScope Public Trust ECC Root-02
subject=C=US, O=CommScope, CN=CommScope Public Trust RSA Root-01
issuer=C=US, O=CommScope, CN=CommScope Public Trust RSA Root-01
subject=C=US, O=CommScope, CN=CommScope Public Trust RSA Root-02
issuer=C=US, O=CommScope, CN=CommScope Public Trust RSA Root-02
subject=C=DE, O=Deutsche Telekom Security GmbH, CN=Telekom Security TLS ECC Root 2020
issuer=C=DE, O=Deutsche Telekom Security GmbH, CN=Telekom Security TLS ECC Root 2020
subject=C=DE, O=Deutsche Telekom Security GmbH, CN=Telekom Security TLS RSA Root 2023
issuer=C=DE, O=Deutsche Telekom Security GmbH, CN=Telekom Security TLS RSA Root 2023
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.
- 96.
- 97.
- 98.
- 99.
- 100.
- 101.
- 102.
- 103.
- 104.
- 105.
- 106.
- 107.
- 108.
- 109.
- 110.
- 111.
- 112.
- 113.
- 114.
- 115.
- 116.
- 117.
- 118.
- 119.
- 120.
- 121.
- 122.
- 123.
- 124.
- 125.
- 126.
- 127.
- 128.
- 129.
- 130.
- 131.
- 132.
- 133.
- 134.
- 135.
- 136.
- 137.
- 138.
- 139.
- 140.
- 141.
- 142.
- 143.
- 144.
- 145.
- 146.
- 147.
- 148.
- 149.
- 150.
- 151.
- 152.
- 153.
- 154.
- 155.
- 156.
- 157.
- 158.
- 159.
- 160.
- 161.
- 162.
- 163.
- 164.
- 165.
- 166.
- 167.
- 168.
- 169.
- 170.
- 171.
- 172.
- 173.
- 174.
- 175.
- 176.
- 177.
- 178.
- 179.
- 180.
- 181.
- 182.
- 183.
- 184.
- 185.
- 186.
- 187.
- 188.
- 189.
- 190.
- 191.
- 192.
- 193.
- 194.
- 195.
- 196.
- 197.
- 198.
- 199.
- 200.
- 201.
- 202.
- 203.
- 204.
- 205.
- 206.
- 207.
- 208.
- 209.
- 210.
- 211.
- 212.
- 213.
- 214.
- 215.
- 216.
- 217.
- 218.
- 219.
- 220.
- 221.
- 222.
- 223.
- 224.
- 225.
- 226.
- 227.
- 228.
- 229.
- 230.
- 231.
- 232.
- 233.
- 234.
- 235.
- 236.
- 237.
- 238.
- 239.
- 240.
- 241.
- 242.
- 243.
- 244.
- 245.
- 246.
- 247.
- 248.
- 249.
- 250.
- 251.
- 252.
- 253.
- 254.
- 255.
- 256.
- 257.
- 258.
- 259.
- 260.
- 261.
- 262.
- 263.
- 264.
- 265.
- 266.
- 267.
- 268.
- 269.
- 270.
- 271.
- 272.
- 273.
- 274.
- 275.
- 276.
- 277.
- 278.
- 279.
- 280.
- 281.
- 282.
- 283.
- 284.
- 285.
- 286.
- 287.
- 288.
- 289.
- 290.
- 291.
- 292.
- 293.
- 294.
- 295.
- 296.
- 297.
- 298.
- 299.
- 300.
- 301.
- 302.
- 303.
- 304.
- 305.
- 306.
- 307.
- 308.
- 309.
- 310.
- 311.
- 312.
- 313.
- 314.
- 315.
- 316.
- 317.
- 318.
- 319.
- 320.
- 321.
- 322.
- 323.
- 324.
- 325.
- 326.
- 327.
- 328.
- 329.
- 330.
- 331.
- 332.
- 333.
- 334.
- 335.
- 336.
- 337.
- 338.
- 339.
- 340.
- 341.
- 342.
- 343.
- 344.
- 345.
- 346.
- 347.
- 348.
- 349.
- 350.
- 351.
- 352.
- 353.
- 354.
- 355.
- 356.
- 357.
- 358.
- 359.
- 360.
- 361.
- 362.
- 363.
- 364.
- 365.
- 366.
- 367.
- 368.
- 369.
- 370.
- 371.
- 372.
- 373.
- 374.
- 375.
- 376.
- 377.
- 378.
- 379.
- 380.
- 381.
- 382.
- 383.
- 384.
- 385.
- 386.
- 387.
- 388.
- 389.
- 390.
- 391.
- 392.
- 393.
- 394.
- 395.
- 396.
- 397.
- 398.
- 399.
- 400.
- 401.
- 402.
- 403.
- 404.
- 405.
- 406.
- 407.
- 408.
- 409.
- 410.
- 411.
- 412.
- 413.
- 414.
- 415.
- 416.
- 417.
- 418.
- 419.
- 420.
- 421.
- 422.
- 423.
- 424.
- 425.
- 426.
- 427.
- 428.
- 429.
- 430.
- 431.
- 432.
- 433.
- 434.
- 435.
- 436.
- 437.
- 438.
- 439.
- 440.
- 441.
python里支持以上这些机构的颁发的证书,请求的网站证书如果不在这个里面,那么就握手失败,请求不了
看下了pythons底层代码:
资源ca_certs ca_cert_dir无值的时候,才会加载默认的证书。 requests就默认会验证:
分析到这里, 已经把所有点了解通透了。 心里的疙瘩总算没了。