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受不了了,向分享總結個東西都這麼的費勁。