利用JDK自带keytool工具制作SSL证书
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