curl:禁用证书验证

blu*_*ast 77 linux curl

我正在开发中,我需要访问https://localhost. 我知道证书不匹配。我只是想让 curl 忽略它。目前它给了我以下错误消息:

curl: (51) SSL peer certificate or SSH remote key was not OK
Run Code Online (Sandbox Code Playgroud)

是否可以告诉 curl 执行访问?

Mat*_*sen 92

是的,你可以这样做。来自curl --helpman curl

-k, --insecure

(SSL) 此选项明确允许 curl 执行“不安全”的 SSL 连接和传输。尝试使用默认安装的 CA 证书包来确保所有 SSL 连接的安全。这会使所有被视为“不安全”的连接失败,除非使用-k, --insecure

有关更多详细信息,请参阅此在线资源:http : //curl.haxx.se/docs/sslcerts.html

  • 哇!尖酸刻薄的回复是怎么回事? (9认同)
  • 对尖刻的反应投反对票。如果您不想回答问题,请不要回答。 (8认同)
  • @MathiasR.Jessen 你确实可以,但通常大多数人都喜欢不那么尖刻的语气 (7认同)
  • 对,我自己才找到的。我昨天去找了,它不在那里!:) (3认同)
  • @Michael 回答问题并要求人们进行 RTFM 并不是相互排斥的选项(因为我相信我对这个问题的回答完美地证明了这一点)。你可以同时做 (3认同)

小智 20

curl -kcurl --insecure不修复此特定错误情况:

curl: (51) SSL peer certificate
Run Code Online (Sandbox Code Playgroud)

  • 当信任链(不是实际证书)验证失败时,会出现 SSL 对等证书错误。我的第一个建议是更新机器上的 CA 包 (3认同)

Bra*_*rks 6

如果您确实想curl在默认情况下对所有用例禁用 SSL 验证,您可以按照此 Unix 堆栈交换答案中的建议进行操作:

$ echo insecure >> ~/.curlrc
Run Code Online (Sandbox Code Playgroud)

现在你应该这样做吗?不,因为这会避免您应该进行的安全检查...但如果您真的想这样做,请买者自负!