我有一种情况,客户端通过curl呼叫https网址。 https URL的SSL证书是自签名的,因此curl无法进行证书验证并且失败。 curl提供了一个选项-k/--insecure
,该选项禁用证书验证。
我的问题是,在使用--insecure
选项时,在客户端和服务器之间进行的数据传输是否已加密(对https urls应该如此)?我了解由于未进行证书验证而带来的安全风险,但是对于这个问题,我仅关注数据传输是否已加密。
是,传输的数据仍以加密方式发送。-k
/ --insecure
将“仅制作” curl
跳过证书验证,它不会一起关闭SSL。
有关此事的更多信息,请参见以下链接:
它将被加密但不安全。如果您信任证书,则应将证书添加到证书存储中,而不要进行不安全的连接。
macOS:sudo安全性add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain〜/ new-root-certificate.crt
Ubuntu,Debian:须藤cp foo.crt /usr/local/share/ca-certificates/foo.crtsudo update-ca-certificates
CentOS 6:yum安装ca证书更新ca信任强制启用cp foo.crt / etc / pki / ca-trust / source / anchors /更新ca信任摘录
CentO 5:cat foo.crt >> / etc / pki / tls / certs / ca-bundle.crt
Windows:certutil -addstore -f“ ROOT” new-root-certificate.crt