在浏览器中访问https是件挺方便的事与访问http站点相比也就是地址栏上多个s但是在java平台上访问https可就麻烦多了Java虚拟机并不直接使用操作系统的key ring而是有自己的security manager与操作系统类似jdk的security manager默认有一堆的根证书信任如果你的https站点证书是花钱申请的被这些根证书所信任那使用java来访问此https站点会非常方便但假如你的https证书是自己签名的就需要将证书导入至JDK的信任证书中否则访问时会报SSL错误假如你的webserice是基于https来进行访问而此站点证书是自签名类型的那么部署时一定要使用keytool进行证书导入否则无法正常访问
JDK keystore存放路径
默认在 $JAVA_HOME/jre/lib/security/cacerts 在我的Mountaion Lion中存放路径为
/System/Library/Java/JavaVirtualMachines/jdk/Contents/Home/lib/security/cacerts
keystore的默认密码
changeit
有人说OS X中java的 Keystore密码被更改成了 changeme所以如果你用上面那个访问失败可以试试这个
keytool乱码
keytool在OS X中经常显示为乱码它在中文OS X中输出GB编码所以要将terminal的默认编码更改成GB或者中文(ECU)
导入证书
首先先通过浏览器将证书下载下来点击显示证书详细的时候直接将图标拖动到桌面上即可
通过keytool命令来导入证书注意导入时需要管理员权限所以命令前面要加sudo不知道这个在win系统上是不是也要如此