美文网首页
使用Keytool为JDK添加https证书信任

使用Keytool为JDK添加https证书信任

作者: 螃蟹和骆驼先生Yvan | 来源:发表于2018-01-09 17:07 被阅读682次

    在浏览器中访问https是件挺方便的事,与访问http站点相比,也就是地址栏上多个“s”。但是,在java平台上访问https,就有点多。Java虚拟机并不直接使用操作系统的key ring,而是有自己的security manager。与操作系统类似,jdk的security manager默认有一堆的根证书信任。如果你的https站点证书是花钱申请的,被这些根证书所信任,那使用java来访问此https站点会非常方便。但假如,你的https证书是自己签名的,就需要将证书导入至JDK的信任证书中,否则访问时会报SSL错误。假如,你的webserice是基于https来进行访问,而此站点证书是自签名类型的,那么部署时一定要使用keytool进行证书导入,否则无法正常访问。

    首先手动导入自己的证书:

    先看证书大概位置:

    上面是找位置,下面比较重要:

    第一步确定位置:

    第二步移动我的证书到上面确定位置,并且修改名字为bshcert.cer:

    sudo mv ils-test.hcf-bshg.com.cer /usr/java/jdk/jre/lib/security/bshcert.cer

    第三步就是导入命令:

    sudo keytool -import -noprompt -trustcacerts -alias bshcert -keystore ${JAVA_HOME}/jre/lib/security/cacerts -file ${JAVA_HOME}/jre/lib/security/bshcert.cer

    密码一般默认第一个先测试:changeit

                         第二个测试密码:changeme

    我用第一个就成功了

    查看是否成功如果显示你导入的密码就说明成功了:

    keytool -list -keystore ${JAVA_HOME}/jre/lib/security/cacerts -alias bshcert

    其中:

    -alias 指定别名(推荐和证书同名)

    -keystore 指定存储文件(此处固定)

    -file 指定证书文件全路径(证书文件所在的目录)

    注意:当切换到 cacerts 文件所在的目录时,才可指定 -keystore cacerts, 否则应该指定全路径;

    此时命令行会提示你输入cacerts证书库的密码,敲入changeit即可,这是java中cacerts证书库的默认密码,当然也可自行修改

    ####指导qq:179061434

    相关文章

      网友评论

          本文标题:使用Keytool为JDK添加https证书信任

          本文链接:https://www.haomeiwen.com/subject/vokgnxtx.html