现在,很多网站或者服务,都实现成基于SSL,并且提供证书下载安装才能访问。如果它能提供下载,当然什么问题有没有。
可是,如果你无权下载,并且它不是CA证书,只是自签名的Server端证书。只知道它的端口和地址,你强行通过程序访问,可能会得到这样的错误:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
没想到,Sun提供了一个工具程序,能够能过程序调用,得到Server端的证书。
这里以12306某部分购票需要证书为例: