Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python Jira模块连接到Jira服务器时出现SSL错误_Python_Ssl_Jira Rest Api - Fatal编程技术网

使用Python Jira模块连接到Jira服务器时出现SSL错误

使用Python Jira模块连接到Jira服务器时出现SSL错误,python,ssl,jira-rest-api,Python,Ssl,Jira Rest Api,尝试使用客户端SSL证书连接到Jira实例时,我收到SSL错误: >>> jira.JIRA(server="https://jira.server", options={'client_cert':'/path/to/my/cert.pem', 'verify':False}) .pem文件包含证书和私钥。当使用单独的证书和私钥文件,并将它们作为元组传递给客户端证书时,我会遇到相同的错误。我还尝试过将.pem和.key文件的内容作为字符串传递,但没有成功。只需从选项中删除v

尝试使用客户端SSL证书连接到Jira实例时,我收到SSL错误:

>>> jira.JIRA(server="https://jira.server", options={'client_cert':'/path/to/my/cert.pem', 'verify':False})

.pem文件包含证书和私钥。当使用单独的证书和私钥文件,并将它们作为元组传递给
客户端证书时,我会遇到相同的错误。我还尝试过将.pem和.key文件的内容作为字符串传递,但没有成功。

只需从选项中删除verify。它会解决你的问题

因为您已经添加了证书路径和
verify=False
,即您明确要求请求/适配器模块不要添加您添加的证书

例:

jira.jira(服务器=”https://jira.server,选项={'client_cert':'/path/to/my/cert.pem'})

或 下面的代码将遵循certifi软件包提供的默认证书


jira.jira(服务器=”https://jira.server“”

根据,
客户端证书
应该是“客户端SSL请求库的(证书,密钥)元组”,而不是证书文件的文件路径。@JohnGordon我曾尝试将证书和密钥的内容作为字符串传递,但这也不起作用。
WARNING:root:HTTPSConnectionPool(host='https://jira.server', port=443): Max retries exceeded with url: /rest/api/2/serverInfo (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1056)'))) while doing GET https://jira.server/rest/api/2/serverInfo [{'params': None, 'headers': {'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json,*.*;q=0.9', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache', 'Content-Type': 'application/json', 'X-Atlassian-Token': 'no-check'}}]
WARNING:root:Got ConnectionError [HTTPSConnectionPool(host='jira.server', port=443): Max retries exceeded with url: /rest/api/2/serverInfo (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1056)')))] errno:None on GET https://jira.server/rest/api/2/serverInfo
{'response': None, 'request': <PreparedRequest [GET]>}\{'response': None, 'request': <PreparedRequest [GET]>}
WARNING:root:Got recoverable error from GET https://jira.server/rest/api/2/serverInfo, will retry [1/3] in 12.759554186699715s. Err: HTTPSConnectionPool(host='jira.server', port=443): Max retries exceeded with url: /rest/api/2/serverInfo (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1056)')))
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/jira/client.py", line 472, in __init__
    si = self.server_info()
  File "/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/jira/client.py", line 2133, in server_info
    j = self._get_json('serverInfo')
  File "/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/jira/client.py", line 2549, in _get_json
    r = self._session.get(url, params=params)
  File "/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/jira/resilientsession.py", line 151, in get
    return self.__verb('GET', url, **kwargs)
  File "/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/jira/resilientsession.py", line 136, in __verb
    if self.__recoverable(response_or_exception, url, verb.upper(), retry_number):
  File "/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/jira/resilientsession.py", line 104, in __recoverable
    time.sleep(delay)
KeyboardInterrupt
>>> requests.get("https://jira.server/rest/api/2/serverInfo", verify=False, cert='/path/to/my/cert.pem')
/Users/toryan/.envs/python-jira/lib/python3.7/site-packages/urllib3/connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
<Response [200]>