Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I'm trying to install Python 3.6 from source on Ubuntu 16.10.

make test

when I make test, the installation raises an error saying..

======================================================================
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

what's the problem?

like image 979
Anderson Avatar asked May 02 '17 12:05

Anderson


1 Answers

it seems that this code you specify doesn't exist on previous or newer branches.

however this specific error says the CA is not a valid (trusted) CA.

checking the specific code it seems that the key is keycert3.pem in the lib/test folder.

The CA file is pycacert.pem, you can add this CA to be trusted by your machine. you can see answers on superuser like https://superuser.com/questions/437330/how-do-you-add-a-certificate-authority-ca-to-ubuntu

that specify how to do it although i seem to remember that simply copying the file into /etc/ssl/certs should be enough. hope it helps.

like image 164
Srgrn Avatar answered Nov 17 '22 13:11

Srgrn