0

我在 Linux Mint 上安装了带有“GOST 引擎的参考实现”的 OpenSSL 1.1.1。

我尝试使用 python-requests 连接 https-server:


    import requests
    api = 'https://api.stage.mdlp.crtp.ru'
    hdr = {'Content-Type': 'application/json;charset=UTF-8',
                                   'User-Agent' : 'my_system',
                                   'Cache-Control': 'no-cache',
                                   'Accept-Language': 'en',
                                   'Authorization': 'token None'}                           
    requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS = 'GOST2012-GOST8912-GOST8912'
    requests.packages.urllib3.contrib.pyopenssl.extract_from_urllib3()
    cert_file = '/home/mi/soft/common/4.pem'
    res = requests.get(api,headers = hdr,verify = cert_file)

结果是:

/home/mi/.local/lib/python2.7/site-packages/urllib3/connection.py:388: SubjectAltNameWarning: Certificate for api.stage.mdlp.crtp.ru has no `subjectAltName`, falling back to check for a `commonName` for now. This feature is being removed by major browsers and deprecated by RFC 2818. (See https://github.com/shazow/urllib3/issues/497 for details.)
  SubjectAltNameWarning
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/mi/soft/__main__.py", line 8, in 
    import test
  File "/home/mi/soft/test.py", line 28, in 
    res = requests.get(api,headers = hdr,verify = cert_file)
  File "/home/mi/.local/lib/python2.7/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/home/mi/.local/lib/python2.7/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/mi/.local/lib/python2.7/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/mi/.local/lib/python2.7/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/home/mi/.local/lib/python2.7/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='api.stage.mdlp.crtp.ru', port=443): Max retries exceeded with url: / (Caused by 
SSLError(CertificateError("hostname 'api.stage.mdlp.crtp.ru' doesn't match u'api.stage.mdlp.crpt.ru'",),))

这个错误的原因是什么?我能做什么?

4

0 回答 0