我一般只记录不是网上给出的大众答案。

很明显很多人搜到的结论是:

修改服务器hosts文件:
vi /etc/hosts

添加记录行:
127.0.0.1   www.xxx.com

这只是把这个无法识别的域名映射到本地了,有点掩耳盗铃。我是真的需要访问这个www.xxx.com提供的接口,所以不能用改host解决。

搜到的别的奇形怪状的解释我就不提了,我这里出现的问题是:

这个www.xxx.com的接口提供者要求使用https访问,并且给了我两个证书:Intermediate.crt和Root.crt。

我以为Root.crt证书没用,因为在导入的时候提示已存在,于是就没导入Root证书,仅仅导入了Intermediate证书。后来我导入了Root.crt就好了。

真是有点神奇。

 

导入证书的命令:

我把两个证书文件放在了服务器目录:/opt/java/Certs/

jdk目录是:/opt/java/jdk1.7.0_79

keytool -import -alias "SACServer" -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -file "/opt/java/Certs/Intermediate.crt"
keytool -import -alias "RootSACServer" -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -file "/opt/java/Certs/Root.crt"

 

可以使用以下命令查看证书:

keytool -list -v -alias SACServer -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -storepass changeit
keytool -list -v -alias RootSACServer -keystore "/opt/java/jdk1.7.0_79/jre/lib/security/cacerts" -storepass changeit

 

changeit是默认密码。

 

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐