登录Azure容器注册表时,SSL证书验证失败

use*_*570 9 python ssl https azure

我是Azure的新手,我正在尝试从我的计算机(mac OS)获取命令行.我通过自制软件安装了azure-cli,当我执行时az login,我收到以下错误:

请求中出错.,SSLError:HTTPSConnectionPool(host ='management.azure.com',port = 443):使用url超出最大重试次数:/ tenants?api-version = 2016-06-01(由SSLError引起(SSLError( "坏握手:错误([('SSL例程','ssl3_get_server_certificate','证书验证失败')],)",),))回溯(最近一次调用最后一次):文件"/ usr/local/Cellar/azure -cli /2.0.25/libexec/lib/python3.6/site-packages/urllib3/contrib/pyopenssl.py",第441行,在wrap_socket cnx.do_handshake()文件中"/ usr/local/Cellar/azure-cli /2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/SSL.py",第1806行,在do_handshake self._raise_ssl_error(self._ssl,result)文件"/ usr/local/Cellar/azure- cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/SSL.py",第1546行,_raise_ssl_error _raise_current_error()文件"/usr/local/Cellar/azure-cli/2.0.25/ libexec/lib/python3.6/site-packages/OpenSSL/_util.py",第54行,在exception_from_error_queue中引发exception_type(错误)OpenSSL.SSL.Error:[('SSL例程','ss l3_get_server_certificate','证书验证失败')]

我尝试过以下方法:

export ADAL_PYTHON_SSL_NO_VERIFY = 1 export AZURE_CLI_DISABLE_CONNECTION_VERIFICATION = 1

按照这个:https://github.com/Azure/azure-cli/issues/2267

这让我登录,但是当我执行时,我az acr login --name <registry name>再次遇到类似的错误:

HTTPSConnectionPool(host ='registryName.azurecr.io',port = 443):使用url:/ v2 /超出最大重试次数(由SSLError引起(SSLError("错误握手:错误([('SSL例程','ssl3_get_server_certificate', '证书验证失败')],)",),))Traceback(最近一次调用最后一次):文件"/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site- packages/urllib3/contrib/pyopenssl.py",第441行,在wrap_socket cnx.do_handshake()文件中"/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/ OpenSSL/SSL.py",第1806行,在do_handshake self._raise_ssl_error(self._ssl,result)文件"/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages /OpenSSL/SSL.py",第1546行,_raise_ssl_error _raise_current_error()文件"/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/OpenSSL/_util.py ",第54行,在exception_from_error_queue中引发exception_type(错误)OpenSSL.SSL.Error:[('SSL例程','ssl3_get_server_certificate','证书验证失败')]

有什么办法可以解决这个问题吗?提前致谢.

小智 0

我认为问题在于 Python 库无法正确执行握手。从错误来看,OpenSSL 似乎不想信任由 Python 脚本发出的请求。

https://pyopenssl.org/en/stable/api.html该站点提供有关 OpenSSL 库的信息。Python 脚本似乎没有正确实现 SSL 功能。