无法使用自签名证书访问网站;我需要采取哪些步骤才能识别其 CA 链

无法使用自签名证书访问网站;我需要采取哪些步骤才能识别其 CA 链

我正在尝试通过 https 访问 Web 服务 - 这是同一家公司但不是同一数据中心的站点。如果我运行:

 curl --verbose -d '{"client_secret":"123abc", "client_id":"someervice"}' -H 'Content-Type: application/json' https://api.anotherdomain.com/token

我得到:

* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS alert, unknown CA (560):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0
curl: (60) SSL certificate problem: unable to get local issuer certificate

通过使用:

# openssl s_client -showcerts -connect api.anotherdomain.com:443

我看到他们有一个自签名证书。我可以采取哪些步骤来确保我的服务器可以访问它?我想我需要添加他们的 PEM 格式的自签名证书update-ca-trust。我需要 PEM 文件的哪些部分才能正常工作?

答案1

下载证书:

openssl s_client -服务器名称 api.anotherdomain.com -connect api.anotherdomain.com:443 > foo.crt

如果你使用 CentOS:

yum 安装 ca 证书

更新 CA 信任强制启用

cp foo.crt /etc/pki/ca-trust/source/anchors/

更新 CA 信任提取

如果你使用 Debian:

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

sudo 更新 ca 证书

相关内容