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

sup*_*ero 7 ssl phantomjs

此提交:支持SSL客户端身份验证 ...告诉我们有一个证书标志可以...

我的尝试:

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
Run Code Online (Sandbox Code Playgroud)

然而,我尝试了什么,我无法访问该页面.我明白了:

page.onLoadFinished
arguments[0] = "fail"
Run Code Online (Sandbox Code Playgroud)

以上命令是否正确?为什么会失败?我怎样才能调试出错了什么?(这个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