我有一种情况,客户端通过 curl 调用 https url。 https url 的 SSL 证书是自签名的,因此 curl 无法进行证书验证并失败。 curl 提供了一个选项 -k/--insecure
来禁用证书验证。
我的问题是,在使用 --insecure
选项时,客户端和服务器之间完成的数据传输是否加密(对于 https url 应该是这样)?我了解由于未完成证书验证而带来的安全风险,但对于这个问题,我只关心数据传输是否加密。
是的,传输的数据仍然是加密发送的。 -k
/--insecure
将“仅使”curl
跳过证书验证,它不会一起关闭 SSL。
有关此事的更多信息,请访问以下链接:
curl.haxx.se - 服务器 SSL 证书的详细信息
它将被加密但不安全。如果您信任证书,则应将证书添加到证书存储区,而不是不安全地连接。
macOS:sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/new-root-certificate.crt
Ubuntu,Debian: sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt sudo update-ca-certificates
CentOS 6: yum install ca-certificates update-ca-trust force-enable cp foo.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust extract
CentOs 5: cat foo.crt >>/etc/pki/tls/certs/ca-bundle.crt
Windows:certutil -addstore -f "ROOT" new-root-certificate.crt
不定期副业成功案例分享