Python 让Ansible信任macOS和CentOS上的我的自定义CA
我正在设置一个可通过HTTPS访问的web服务,它使用内部CA。我希望Ansible验证证书,因此我需要使其信任此CA。我正在macOS和CentOS上运行Ansible,因此我需要使其信任这两种类型操作系统上的自定义CA 我尝试将我的CA证书放入Python 让Ansible信任macOS和CentOS上的我的自定义CA,python,python-3.x,ssl,ansible,urllib,Python,Python 3.x,Ssl,Ansible,Urllib,我正在设置一个可通过HTTPS访问的web服务,它使用内部CA。我希望Ansible验证证书,因此我需要使其信任此CA。我正在macOS和CentOS上运行Ansible,因此我需要使其信任这两种类型操作系统上的自定义CA 我尝试将我的CA证书放入/etc/ssl/certs/中,并使用blockinfle将其添加到/usr/local/etc/openssl/cert.pem,但这些都不起作用。我更喜欢一种易于清理的方法,比如将CA文件添加到目录中,而不是将其附加到文件中 我正在运行Ansib
/etc/ssl/certs/
中,并使用blockinfle
将其添加到/usr/local/etc/openssl/cert.pem
,但这些都不起作用。我更喜欢一种易于清理的方法,比如将CA文件添加到目录中,而不是将其附加到文件中
我正在运行Ansible 2.8,并发现它使用urllib
来发出HTTP请求。但我找不到任何关于它在不同操作系统上查找CA证书的信息
有什么想法吗?谢谢 Centos的部分答案(其他发行版使用不同的路径/二进制文件,我不知道这在macintosh上是如何管理的)
- 将扩展名为
的CA证书文件添加到.pem
文件夹中/etc/pki/CA trust/source/anchors/
- 以root用户身份运行命令
更新ca证书
openssl version -a | grep -i openssldir
在此目录中,应该有一个符号链接
cert.pem
,指向/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
(即由更新ca-certificates
更新的ca-bundle文件)。如果缺少此项,请尝试创建它。通常需要使用自定义CA的路径设置不少于3个环境变量。查看它们的确切名称。还要确保它们是在运行http请求的机器上设置的 是的,自从我被困在macOS上后,我还没有接触过CentOS,但这将是我的第一次尝试,因为这是在CentOS上添加自定义CA的标准方法。但感谢您确认这对Ansible有效。现在我只需要想办法在macOS上做到这一点。。。