我有为托管站点安装SSL证书的经验,但是我不熟悉将服务器配置为具有用于传出连接的所需证书的服务器。

我们正在准备通过Cielo网关处理付款。他们提供a list of certificates with downloads。该文档指出:


  只需在服务器Trustedstore中安装以下三个文件。 Cielo不支持证书的安装。如果不确定如何安装EV证书,则应与服务器供应商支持联系。


我不知道将文件放在哪里,甚至我真的不需要它们。我找到了this page which talks about checking a CA Chain installation,但不确定如何读取此命令的输出:

openssl s_client -connect api.cieloecommerce.cielo.com.br:443


输出的最后一行之一说明了这一点,所以我很可能会遗漏一些东西:

Verify return code: 20 (unable to get local issuer certificate)


我尝试完全按照/etc/ssl/certs/中Cielo的名称放置证书文件,但是从openssl中获得相同的输出。

最佳答案

我的服务器正在使用AWS Linux。基于the manual for update-ca-trust,通过以下重命名,将提供的证书放在/etc/pki/ca-trust/source/anchors/中:


Root.crt> cieloecommerce.cielo.com.br-root.crt
Intermediate1.crt> cieloecommerce.cielo.com.br-intermediate1.crt
Intermediate2.crt> cieloecommerce.cielo.com.br-intermediate2.crt
ServerCertificate.crt> cieloecommerce.cielo.com.br-server-certificate.crt


然后,我运行以下命令:


yum install ca-certificates
确保程序包是最新的
update-ca-trust extract
构建了证书-输出消息:update-ca-trust: Warning: The dynamic CA configuration feature is in the disabled state
update-ca-trust enable
从上方解决警告
openssl s_client -connect api.cieloecommerce.cielo.com.br:443
确认连接现在可以正常工作
service httpd reload
Apache上运行的PHP代码现在具有新证书

09-10 07:29