利用curl验证ssl网站(webservice)

curl的用法:html

  http://linux.about.com/od/commands/l/blcmdl1_curl.htmlinux

DER格式的cert转换为PEM格式(curl只接受PEM格式):web

  openssl x509 -inform der -in cert.cer -out cert.pemcurl

curl命令示意:工具

  curl --cacert rootca.pem (或--capath 'certpath' -H 'Content-Type: text/xml; charset=utf-8' -H 'SOAPAction: "http://tempuri.org/HeartBeat"' https://xxxx.asmx -data @heartbeat.xml网站

 

curl 的--capath参数:url

  在capath指明的路径下存放着验证ssl网站的证书链,必须用c_rehash进行处理的。c_rehash就相似以下代码:code

  

for file in *.pem; 
do
    ln -s $file `openssl x509 -hash -noout -in $file `.0;
done

 

heartbeat.xml是参数通过htmlencode的文件:orm

  BTGS不让拷贝东西,我只有大概描述下了。<soap12:Envelope>和<soap12:body>是固定的,webservice都差很少。xml

<soap12:body>下面是<HeartBeat xmlns="http://tempuri.org/">, 参数只有一个<who>内容是转义的,好比“<”要替换成“&lt;“等,网上有在线转义工具。

 

  BTGS受不了了,向分享总结个东西都这么的费劲。

相关文章
相关标签/搜索