【问题标题】:Specify local SSL certificate for https host using PHP cURL?使用 PHP cURL 为 https 主机指定本地 SSL 证书?
【发布时间】:2012-01-21 13:57:40
【问题描述】:

我想使用 PHP cURL 连接到 https 主机,但我不想使用主机返回的证书或其 CA 路径。

由于我在本地拥有证书,我想使用本地文件而不是主机返回的证书,而不是依赖 CA。

我已经研究、搜索并尝试了很多东西,但除了正常的默认路径之外没有任何效果,它从主机获取证书并遵循 CA 路径。

不能更改现有的主机证书。

【问题讨论】:

  • 如果我们知道您为什么要尝试跳过默认证书,这可能会有所帮助。这只是 cURL 调用的速度问题吗?
  • 我不想信任或引用 CA。我实际上已经开发了一种解决方法,即使用默认方法,一旦成功,将 cURL 从服务器获得的证书与我的本地副本进行比较。不过,如果 cURL 已经支持它,我宁愿使用更直接的方法。
  • 我不太明白您的推理:当您使用由 CA 签名和颁发的证书时,您已经信任 CA,它已验证证书的所有者是谁他说他是。
  • 不,我不一定知道它是由 CA 签署的。我知道它它是由某个 CA 签署的。即使它是由同一个 CA 签名的,我也不知道该证书是不是真的。我知道我的副本是正版的。换句话说,这是针对我已采取比 CA 可能采取的更大步骤来确认身份的网站。

标签: php curl https certificate certificate-authority


【解决方案1】:

我不确定我是否理解你。要么我把你的问题搞错了,要么你对 SSL 有根本的误解。

您必须使用主机的证书(这是一个公钥),否则主机将无法理解您发送的内容。

【讨论】:

  • 来自原始查询:“...我在本地拥有证书...”。由于错过了这一点并且没有提供答案而被否决。 (这属于对原始查询的注释。)
  • @danorton 好吧,您认为提出问题的人似乎很清楚,但阅读它的人不一定清楚。对我来说,不清楚您的本地证书是否等同于“主机返回”的证书,因为您特别提到您不想使用该证书。这就是为什么我得出的结论是你可能搞错了。对我来说,这是一个有效的答案。
猜你喜欢
  • 2016-07-02
  • 2016-04-30
  • 2020-02-10
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 2011-10-31
  • 2021-06-08
相关资源
最近更新 更多