Mac*_*ity 5 php centos openssl ssl-certificate
我遇到了一个有趣的问题。我们有一个 PHP 脚本可以联系 LTL 托运人 ( https://facts.dohrn.com/ )。该脚本一直失败,因为它无法验证 SSL 证书。我访问了该站点,发现他们使用的是 GoDaddy SHA2 证书(使用GoDaddy 证书捆绑包 - G2,这是用于 SHA2 的)。
我安装了最新版本,ca-certificate
看起来他们有Go Daddy Root Certificate Authority - G2但这不是一回事,并且在所有形式的验证中都失败了。我终于能够通过复制包并直接在 CURL 请求中使用它来让它工作。但这只是一种解决方法。是否还有其他我遗漏的东西可以在不直接安装 CA 的情况下完成这项工作?
# openssl s_client -connect fact.dohrn.com:443
CONNECTED(00000003) depth=0 OU = Domain Control Validated, CN = fact.dohrn.com verify
error:num=20:unable to get local issuer certificate verify return:1
depth =0 OU = 域控制验证,CN = fact.dohrn.com 验证
错误:num=27:证书不可信验证返回:1 深度=0 OU =
域控制验证,CN = fact.dohrn.com 验证
错误:num= 21:unable to verify the first certificate verify return:1
--- Certificate chain 0 s:/OU=Domain Control Validated/CN=facts.dohrn.com
i:/C=US/ST=Arizona/L=Scottsdale/O =GoDaddy.com,
Inc./OU=http://certs.godaddy.com/repository//CN
=Go Daddy 安全
证书颁发机构 - G2
--- 服务器证书[证书删除]
-----END CERTIFICATE-----
subject=/OU=Domain Control Validated/CN=facts.dohrn.com
issuer=/C=US/ST=Arizona/L= Scottsdale/O=GoDaddy.com,
Inc./OU=http://certs.godaddy.com/repository//CN
=Go Daddy Secure
Certificate Authority - G2
--- 没有发送客户端证书 CA 名称
--- SSL 握手已读取 1470 字节并写入 563 字节
--- 新,TLSv1/ SSLv3,密码是 RC4-SHA 服务器公钥是 2048 位不支持安全重新协商压缩:无扩展:
无 SSL- 会话:
协议:TLSv1
密码:RC4-SHA
会话 ID:1A23000017A7003411F3833970B6D75C75C75CETA
- CET -ID 75C75CETA -C
主密钥:F6C9C6345A09B7965AF762DE4BEFE8BDD249136BF30D9364598D78CF123F17230B0C25DD552F103BEF9A893F75EAD2B0
重点精氨酸:无
KRB5负责人:无
PSK身份:无
PSK身份提示:无
开始时间:1432044402
超时:300(秒)
检查返回码:21(无法验证第一个证书)
https://facts.dohrn.com/上的 Web 服务器似乎不包含中间证书。
这似乎是他们的配置错误。这绝对是可以预期会导致兼容性问题的事情,因为您实际上只应该依赖预先准备好根证书的客户端。
查看证书链,例如SSLLabs 结果:(您还会注意到他们的 SSL 设置还有许多其他问题。)
1 Sent by server facts.dohrn.com
Fingerprint: 823e3a70f194c646498b2591069b3727ad0014d9
RSA 2048 bits (e 65537) / SHA256withRSA
2 Extra download Go Daddy Secure Certificate Authority - G2
Fingerprint: 27ac9369faf25207bb2627cefaccbe4ef9c319b8
RSA 2048 bits (e 65537) / SHA256withRSA
3 In trust store Go Daddy Root Certificate Authority - G2 Self-signed
Fingerprint: 47beabc922eae80e78783462a79f45c254fde68b
RSA 2048 bits (e 65537) / SHA256withRSA
Run Code Online (Sandbox Code Playgroud)
我会说您的主要选择是尝试说服服务提供商修复他们的服务,或者通过向客户端提供他们的服务器应该提供的证书来解决您的问题。
归档时间: |
|
查看次数: |
4414 次 |
最近记录: |