程序员

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

2017-02-15  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读