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>内容是转义的,好比“<”要替换成“<“等,网上有在线转义工具。
BTGS受不了了,向分享总结个东西都这么的费劲。