一台电脑出现SSL错误,另一台却没有?

1 投票
1 回答
1316 浏览
提问于 2025-04-18 02:17

我搞不懂为什么突然之间,下面这段使用Asana API的代码会出现SSL错误。我的笔记本电脑上一定发生了什么变化,因为在我的另一台电脑上运行得很好。

from asana import asana

class Login(object):
    def __init__(self):
        api = 'API'
        self.asana_api = asana.AsanaAPI(api, debug=False)
        self.user_id = 7359085011308L

class Test(Login):
    def Test(self):
        Id = 2467584555313L
        print self.asana_api.list_tasks(Id,self.user_id)


Traceback (most recent call last):
  File "/Users/Chris/Dropbox/AsanaPullPush.py", line 75, in <module>
    if __name__ == "__main__": main()
  File "/Users/Chris/Dropbox/AsanaPullPush.py", line 72, in main
    print Test().Test()
  File "/Users/Chris/Dropbox/AsanaPullPush.py", line 15, in Test
    print self.asana_api.list_tasks(Id,self.user_id)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/asana/asana.py", line 174, in list_tasks
    return self._asana(target)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/asana/asana.py", line 74, in _asana
    r = requests.get(target, auth=(self.apikey, ""))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/adapters.py", line 389, in send
    raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:507: error:0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm

1 个回答

2

我们最近因为一个叫做Heartbleed的安全漏洞,更新了我们的SSL密钥。你可能听说过这个漏洞。http://blog.asana.com/2014/04/heartbleed/

看起来你的笔记本电脑可能没有正确的SSL版本。可以查看这个链接,了解类似的问题讨论:https://github.com/pypa/pip/issues/829

你可以在两台机器上用这个命令检查SSL版本:python -c "import ssl; print ssl.OPENSSL_VERSION"。如果笔记本电脑的版本确实落后了,你需要更新一下Python的SSL。

撰写回答