Linux 如何使用Curl打开安全站点
最近,我们不得不在办公室使用的一些Apache上更新SSLProtocol和SSLCipher。Linux 如何使用Curl打开安全站点,linux,apache,curl,Linux,Apache,Curl,最近,我们不得不在办公室使用的一些Apache上更新SSLProtocol和SSLCipher。 发件人: SSLProtocol-all+TLSv1+TLSv1.2 SSLCipherSuite高:!aNULL:+SHA1:+MD5:+HIGH 致: SSLProtocol-all+TLSv1.1+TLSv1.2 SSLCipherSuite EECDH+AES:AES256-SHA:AES128-SHA:AES:CAMELLIA:DES-CBC3-SHA:!阿努尔:!埃努尔:!出口:!德斯:
发件人:
SSLProtocol-all+TLSv1+TLSv1.2
SSLCipherSuite高:!aNULL:+SHA1:+MD5:+HIGH
致:SSLProtocol-all+TLSv1.1+TLSv1.2
SSLCipherSuite EECDH+AES:AES256-SHA:AES128-SHA:AES:CAMELLIA:DES-CBC3-SHA:!阿努尔:!埃努尔:!出口:!德斯:!RC4:!MD5:!PSK:!aECDH:!埃德:!经验:!SRP:!决策支持系统:!低:!3DES
SSLHonorCipherOrder开启
SSLVERIFYCLENT无
SSLVerifyDepth 1
所有测试都是使用curl命令完成的。但在改变之后,旋度开始出现错误
curl-vhttps://server1:4034/pages/Status.jsp --跟踪ascii/dev/stdout
警告:-跟踪ascii覆盖早期的跟踪/详细选项
==信息:即将()连接到服务器1端口4034(#0)
==信息:正在尝试xxx.xxx.xxx.xxx…==信息:已连接
==Info:连接到server1(xxx.xxx.xxx.xxx)端口4034(#0)
==信息:使用certpath:sql:/etc/pki/nssdb初始化NSS
==Info:CAfile:/etc/pki/tls/certs/ca bundle.crt
CApath:none
==信息:NSS错误-5938
==信息:关闭连接#0
==信息:SSL连接错误
curl:(35)SSL连接错误
我已经安装了支持TLSv1.2的最新可用版本(7.46.0)
有没有办法用curl来测试它?或者有什么方法可以调试curl连接?
谢谢很可能,对于您尝试连接的服务器,您没有可信的CA。尝试添加-k(不安全选项)
很可能,您尝试连接的服务器没有可信的CA。尝试添加-k(不安全选项)
您有两个选择:
按照shcherbak的建议,禁用服务器证书验证
执行完整的证书验证,要使其工作,您应该拥有该CA的根证书,该CA已为您的服务器签署了证书。将PEM形式的证书放入某个文件中,例如ca.crt,并为curl提供额外的命令行参数:curl--cacert ca.crt
这可能行不通,从您的消息中我看到您的curl是根据NSS库构建的,这使得事情稍微复杂一些。NSS使用自己的证书存储。您可以在Firefox配置文件中找到文件key3.db和cert8.db,这是Firefox使用的NSS存储
为了操作这些文件,Mozilla(NSS库的维护者)提供了certutil工具:。您应该创建cert8(或者cert9,如果库有更新的版本)文件,将您的服务器证书添加为受信任的,并提供该文件的curl。SSL_DIR环境变量指示将此文件放在何处,默认值为/etc/pki/nssdb
在此处阅读有关CURL安全配置的更多信息:您有两个选项:
按照shcherbak的建议,禁用服务器证书验证
执行完整的证书验证,要使其工作,您应该拥有该CA的根证书,该CA已为您的服务器签署了证书。将PEM形式的证书放入某个文件中,例如ca.crt,并为curl提供额外的命令行参数:curl--cacert ca.crt
这可能行不通,从您的消息中我看到您的curl是根据NSS库构建的,这使得事情稍微复杂一些。NSS使用自己的证书存储。您可以在Firefox配置文件中找到文件key3.db和cert8.db,这是Firefox使用的NSS存储
为了操作这些文件,Mozilla(NSS库的维护者)提供了certutil工具:。您应该创建cert8(或者cert9,如果库有更新的版本)文件,将您的服务器证书添加为受信任的,并提供该文件的curl。SSL_DIR环境变量指示将此文件放在何处,默认值为/etc/pki/nssdb
请在此处阅读有关CURL安全配置的更多信息:谢谢大家。实际上,新版本的curl工作正常,在测试服务器和apache之间有一个防火墙。
我必须在apache服务器上安装新的curl版本,它工作正常。
非常感谢大家的帮助。谢谢你们两位。实际上,新版本的curl工作正常,在测试服务器和apache之间有一个防火墙。
我必须在apache服务器上安装新的curl版本,它工作正常。
非常感谢大家的帮助
curl -k -v https://server1:4034/pages/Status.jsp --trace-ascii /dev/stdout