SSL:在 Docker 容器中以及在本地运行的 VS 代码中调用 Azure 库时出现 CERTIFICATE_VERIFY_FAILED

SSL:在 Docker 容器中以及在本地运行的 VS 代码中调用 Azure 库时出现 CERTIFICATE_VERIFY_FAILED

我正在用 Python 从 Azure 密钥保管库读取客户端证书。代码正在 Windows 中的 VS 代码中运行。

我有以下代码

credential = DefaultAzureCredential()
certificate_client = CertificateClient("url of keyvault", credential)
certificate = certificate_client.get_certificate("certificatename")

我收到以下错误

ServiceRequestError:[SSL:CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书(_ssl.c:1002)

然后我安装了“python-certifi-win32”包,错误就解决了。然后我创建了一个docker容器,在requirement.txt文件中有这个包列表

azure-functions
python-certifi-win32
azure.identity
azure.keyvault.certificates
azure.keyvault.secrets
requests_pkcs12

但后来我得到了这个错误

---> Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException:结果:失败异常:ServiceRequestError:[SSL:CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书(_ssl.c:1007)堆栈:文件“/azure-functions-host/workers/python/3.10/LINUX/X64/azure_functions_worker/dispatcher.py”,

我的docker文件有以下内容

# To enable ssh & remote debugging on app service change the base image to the one below
# FROM mcr.microsoft.com/azure-functions/python:4-python3.11-appservice
FROM mcr.microsoft.com/azure-functions/python:4-python3.10-appservice
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
AzureFunctionsJobHost__Logging__Console__IsEnabled=true
COPY requirements.txt /

RUN pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted- 
host=files.pythonhosted.org --no-cache-dir -r /requirements.txt

COPY . /home/site/wwwroot

请问我该如何修复这个错误?

相关内容