美文网首页程序员
利用JDK自带keytool工具制作SSL证书

利用JDK自带keytool工具制作SSL证书

作者: 高效码农 | 来源:发表于2017-02-15 20:53 被阅读83次

    SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

    说人话:SSL证书就如你的驾驶证一样,去车管所年审你得带上驾驶证吧!这里访问的网站就好比车管所,SSL证书就好比你的驾驶证。年审就是你去访问网站。

    打开CMD命令行工具,cd到C盘根目录或者是jdk的bin目录下,如下图所示:

    windows+R输入cmd

    使用keytool命令生成证书:

    keytool -genkey -alias test -keyalg RSA -keystore test.keystore -validity 3650

    -alias test (别名)

    -keyalg RSA(算法)

    -keystore test.keystore(指定生成证书的位置和证书名称)

    -validity 365(有效期,天单位)

    回车执行后如下图:

    点击回车即可在C:\Users\w文件夹内生成名为:tomcat.keystore的文件。

    成功后无提示信息

    为客户端生成证书

    keytool -export -alias test -file test.cer -keystore test.keystore

    让服务器信任客户端证书

    客户端用以下命令:

    keytool -import -alias test -file test.cer -keystore server.keystore

    得到server.keystore,把这个文件作为客户端代码的truststore,才能正常访问到。可以理解为因为是用代码 来访问服务端,没有用户手工确认的过程,所以需要把证书加进来进行确认

    那本地想要调用到服务端,就也需要做证书,同样先用这个命令:

    keytool -genkey -alias test1 -keyalg RSA -keystore test1.keystore -validity 3650

    名字和姓氏要填域名或者IP名:客户端IP。其他可以随便填 ,得到test1.keystore

    然后:

    keytool -export -alias test1 -file test1.cer -keystore test1.keystore

    得到test1.cer,把test1.cer发给服务端,服务端用以下命令:

    keytool -import -alias test1 -file test1.cer -keystore client.keystore

    得到了client.keystore,这里面就包含了客户端IP地址信息的证书信息,可以用以下命令查看:

    keytool -list -v -keystore client.keystore

    相关文章

      网友评论

        本文标题:利用JDK自带keytool工具制作SSL证书

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