[ https://issues.apache.org/jira/browse/LIBCLOUD-812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anthony Shaw resolved LIBCLOUD-812. ----------------------------------- Resolution: Fixed > Setting libcloud.security.VERIFY_SSL_CERT = False still results in > CERTIFICATE_VERIFY_FAILED errors on python 2.7.11 > -------------------------------------------------------------------------------------------------------------------- > > Key: LIBCLOUD-812 > URL: https://issues.apache.org/jira/browse/LIBCLOUD-812 > Project: Libcloud > Issue Type: Bug > Components: Compute > Environment: python 2.7.11 (likely since 2.7.9 as well when ssl > behaviour was updated) > Reporter: Michael Bennett > > When trying to use the Docker Container API with a docker host running on a > local docker-machine managed VM, setting libcloud.security.VERIFY_SSL_CERT = > False to allow the use of the self-signed certs generated by docker itself > still results in CERTIFICATE_VERIFY_FAILED. This is because when verify is > turned off, the base httplib.HTTPSConnection connect() method is used and the > behaviour of the default SSL context was changed in python 2.7.9 to use > verification by default (which is detailed here > https://docs.python.org/2/library/ssl.html#ssl._https_verify_certificates) > Example: > # Stack traces removed for brevity. Note get_connection() is my own method > which creates a properly instantiated DockerContainerDriver > In [1]: from cloud.connection import get_connection > In [2]: import libcloud > In [3]: conn = get_connection('docker') > In [4]: conn.list_images() > --------------------------------------------------------------------------- > SSLError Traceback (most recent call last) > <ipython-input-4-47e7225ad5b0> in <module>() > ----> 1 conn.list_images() > ... > SSLError: ('[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed > (_ssl.c:590)',) > In [5]: libcloud.security.VERIFY_SSL_CERT > Out[5]: True > In [6]: libcloud.security.VERIFY_SSL_CERT = False > In [7]: conn.list_images() > UserWarning: SSL certificate verification is disabled, this can pose a > security risk. For more information how to enable the SSL certificate > verification, please visit the libcloud documentation. > warnings.warn(libcloud.security.VERIFY_SSL_DISABLED_MSG) > --------------------------------------------------------------------------- > SSLError Traceback (most recent call last) > <ipython-input-7-47e7225ad5b0> in <module>() > ----> 1 conn.list_images() > ... > SSLError: ('[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed > (_ssl.c:590)',) > In [8]: import ssl > In [9]: ssl._create_default_https_context = ssl._create_unverified_context > In [10]: conn.list_images() > Out[10]: > [<ContainerImage: id=sha256:133ecd49ac99f45856...] -- This message was sent by Atlassian JIRA (v6.3.4#6332)