支持phantomjs中的SSL客户端身份验证

时间:2015-09-07 14:45:08

标签: ssl phantomjs

此提交:support for SSL Client Authentication ...告诉我们有一个可以使用的证书标志......

我的尝试:

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 个答案:

答案 0 :(得分:1)

该站点的HTTPS版本未提供其整个TLS证书链,这会导致phantomjs在不受信任的证书上失败。尝试将--ignore-ssl-errors=true添加到命令行,看看是否有效。如果是这样,正确的解决方案是下载中间CA的证书,然后告诉phantomjs信任--ssl-certificates-path=/path/to/ca.pem

您需要的证书位于https://ssl-tools.net/certificates/ec503507b215c4956219e2a89a5b42992c4c2c20.pemhttps://www.ssllabs.com/ssltest/analyze.html?d=sedecatastro.gob.es可以获得进一步的诊断信息