当java客户端请求实现https协议的服务时,出现异常:'unable to find valid certification path to requested target'
是因为服务期端的证书没有被认证,需要做的是把服务端证书导入到java keystore。
1。从IE获取证书,在地址栏输入你要访问的地址。如“https://api.linkedin.com/uas/oauth/authorize?oauth_token=7fdb8227-3a90-47f1-9fba-f0e45f20deda”;
2。导出证书。点击“文件”---》“属性”---》“证书”---》“详细信息”---》“复制证书到”,就可以得到证书了;
3。安装证书。“开始”---》“运行”,输入cmd
<JAVA_HOME>/jdk/bin/keytool.exe -import -file [PATH TO THE SERVER CERTIFICATE OBTAINED IN STEP 1] -alias [CERTIFICATE ALIAS] -keystore <JAVA_HOME>/jdk/jre/lib/security/cacerts
如:
C:\JDK\jre1.6.0_02\lib\security>keytool -import -file D:\linkedin.cer -alias lin
kedin -keystore C:\JDK\jre1.6.0_02\lib\security\cacerts
4。此时,会要求你输入密码。keystore的默认密码为“changeit”。如此就可搞定了。
部分内容来源网络.
可参考试: