(安装Python 3.6.1)SSLError:SSL:TLSV1_ALERT_UNKNOWN_CA tlsv1 alert unknown ca

时间:2017-05-02 12:33:31

标签: python python-3.x ubuntu ssl openssl

我正在尝试在Ubuntu 16.10上从源代码安装Python 3.6。

make test

当我进行测试时,安装会引发错误说..

======================================================================
ERROR: test_logincapa_with_client_certfile (test.test_imaplib.RemoteIMAP_SSLTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/anderson/Downloads/Python-3.6.1/Lib/test/test_imaplib.py", line 973, in test_logincapa_with_client_certfile
    certfile=CERTFILE)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 1280, in __init__
    IMAP4.__init__(self, host, port)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 197, in __init__
    self.open(host, port)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 1293, in open
    IMAP4.open(self, host, port)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 294, in open
    self.sock = self._create_socket()
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 1285, in _create_socket
    server_hostname=self.host)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 401, in wrap_socket
    _context=self, _session=session)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 808, in __init__
    self.do_handshake()
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 1061, in do_handshake
    self._sslobj.do_handshake()
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 683, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:749)

======================================================================
ERROR: test_logincapa_with_client_ssl_context (test.test_imaplib.RemoteIMAP_SSLTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/anderson/Downloads/Python-3.6.1/Lib/test/test_imaplib.py", line 979, in test_logincapa_with_client_ssl_context
    self.host, self.port, ssl_context=self.create_ssl_context())
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 1280, in __init__
    IMAP4.__init__(self, host, port)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 197, in __init__
    self.open(host, port)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 1293, in open
    IMAP4.open(self, host, port)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 294, in open
    self.sock = self._create_socket()
  File "/home/anderson/Downloads/Python-3.6.1/Lib/imaplib.py", line 1285, in _create_socket
    server_hostname=self.host)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 401, in wrap_socket
    _context=self, _session=session)
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 808, in __init__
    self.do_handshake()
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 1061, in do_handshake
    self._sslobj.do_handshake()
  File "/home/anderson/Downloads/Python-3.6.1/Lib/ssl.py", line 683, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:749)

----------------------------------------------------------------------
Ran 95 tests in 21.126s

FAILED (errors=2)
test test_imaplib failed
1 test failed again:
    test_imaplib

Total duration: 3 min 9 sec
Tests result: FAILURE
Makefile:1018: recipe for target 'test' failed
make: *** [test] Error 1

问题是什么?

2 个答案:

答案 0 :(得分:0)

您指定的此代码似乎不存在于上一个或更新的分支上。

然而,此特定错误表明CA不是有效(可信)CA.

检查特定代码,似乎密钥是lib / test文件夹中的keycert3.pem。

CA文件是pycacert.pem,您可以将此CA添加到您的计算机信任。您可以在超级用户上查看答案,例如https://superuser.com/questions/437330/how-do-you-add-a-certificate-authority-ca-to-ubuntu

指定如何操作虽然我似乎记得只是将文件复制到/ etc / ssl / certs就足够了。 希望它有所帮助。

答案 1 :(得分:0)

首先,从其官方网站安装Python 3.6:

cd /opt sudo wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz 然后打开包装

sudo tar -xvf Python-3.6.3.tgz

这应该为您工作!