2015-09-07 44 views
7

SSL客戶端身份驗證此承諾:support for SSL Client Authentication ......告訴我們有一個證書國旗...支持在phantomjs

我嘗試玩:

phantomjs main.js \ 
    --ssl-protocol=any \ 
    --ssl-client-certificate-file=/tmp/joppli/data/certificate/certificado.crt \ 
    --ssl-client-key-file=/tmp/joppli/data/certificate/certificado.key \ 
    --ssl-client-key-passphrase=foobar \ 
    --web-security=false 

我試着然而什麼都,我無法訪問該頁面。我得到:

page.onLoadFinished 
arguments[0] = "fail" 

上述命令是否正確?它爲什麼會失敗?我怎樣才能調試出了什麼問題? (該消息fail葉多渴望)

我想訪問的頁面是:https://www.sedecatastro.gob.es/
用了SSL:http://www.sedecatastro.gob.es/它工作得很好,雖然。

我卻無法訪問該網頁的某些部分用了一個特殊的證書:

回答

1

該網站的HTTPS版本不提供其整個TLS證書鏈,導致phantomjs在不受信任的證書上失敗。嘗試將--ignore-ssl-errors=true添加到您的命令行中,並查看是否有效。如果是這樣,正確的解決方案將是下載中間CA的證書,然後告訴phantomjs與--ssl-certificates-path=/path/to/ca.pem信任它。

您所需要的證書可在https://ssl-tools.net/certificates/ec503507b215c4956219e2a89a5b42992c4c2c20.pem,進一步診斷可在https://www.ssllabs.com/ssltest/analyze.html?d=sedecatastro.gob.es