JDK创建SSL证书
1. 生成SSL证书
(1)进入JDK安装目录下的cacerts文件所在目录
例:C:\Program Files\Java\jdk1.8.0_261\jre\lib\security
在这里插入图片描述
(2)在路径处输入cmd后回车,进入命令行窗口(当然也可以直接在桌面进入命令行窗口,再通过cd命令进入cacerts文件所在目录) 目的在于向JDK中导入证书方便。
(3)创建证书指令
证书库的登录原始密码:changeit
命令中括号部分均为括号前代码的提示,非命令的一部分,需删除
keytool -genkey -alias weblogicCas(别名) -keyalg RSA -keysize 1024 -keypass changeit(密码) -validity 365 -keystore D:\weblogicCas.keystore(生成证书后存放的地址以及证书的名字) -storepass changeit(密码)
注意:;两个密码要一致,别名是在查看证书时显示的唯一标识,不可重复,建议使用证书库原始密码方便记忆,也可自己设置
(4)导出证书指令
keytool -export -alias weblogicCas(别名) -keystore D:\weblogicCas.keystore -file D:\weblogicCas.cer -storepass changeit(密码)
(5)添加证书
正常导入不限制路径
sudo keytool -import -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -file D:\weblogicCas.cer -alias weblogicCas -storepass changeit(此处的密码是证书库的密码,不是起初证书设置的密码,如果没修改过,默认是changeit)
将证书放到jre->lib->security下可用
keytool -import -alias weblogicCas -file weblogicCas.cer -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -trustcacerts -storepass changeit(此处的密码是证书库的密码,不是起初证书设置的密码,如果没修改过,默认是changeit)
(6)显示证书
查询全部证书
keytool -list -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -storepass changeit
根据设置的别名查询证书,可以用来验证某一证书是否成功添加到了证书库中
keytool -list -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -storepass changeit -alias weblogicCas(别名)
(7)删除证书
keytool -delete -alias weblogicCas(别名) -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径)
注:可能遇到的问题
问题描述
C:\Program Files\Java\jdk1.8.0_241\jre\lib\security>keytool -import
-alias aliyun-maven -keystore cacerts -file E:\entSoftware\aliyun-maven.cer 输入密钥库口令: …………一堆证书内容信息
是否信任此证书? [否]: y 证书已添加到密钥库中 keytool 错误: java.io.FileNotFoundException:
cacerts (拒绝访问。)
原因分析
文件找不到?不可能的,上面能读取到证书内容怎么可能是文件找不到。
真正的原因是因为权限不足,所以拒绝访问。
为什么会权限不足?因为我的JDK是以默认路径安装到C盘中的,对其进行操作需要管理员权限。
解决方案
已管理员身份运行命令提示符,如何以管理员身份运行参考如下链接
参考:https://jingyan.baidu.com/article/ceb9fb10b53ab88cac2ba05b.html
(1)进入JDK安装目录下的cacerts文件所在目录
例:C:\Program Files\Java\jdk1.8.0_261\jre\lib\security
在这里插入图片描述
(2)在路径处输入cmd后回车,进入命令行窗口(当然也可以直接在桌面进入命令行窗口,再通过cd命令进入cacerts文件所在目录) 目的在于向JDK中导入证书方便。
(3)创建证书指令
证书库的登录原始密码:changeit
命令中括号部分均为括号前代码的提示,非命令的一部分,需删除
keytool -genkey -alias weblogicCas(别名) -keyalg RSA -keysize 1024 -keypass changeit(密码) -validity 365 -keystore D:\weblogicCas.keystore(生成证书后存放的地址以及证书的名字) -storepass changeit(密码)
注意:;两个密码要一致,别名是在查看证书时显示的唯一标识,不可重复,建议使用证书库原始密码方便记忆,也可自己设置
(4)导出证书指令
keytool -export -alias weblogicCas(别名) -keystore D:\weblogicCas.keystore -file D:\weblogicCas.cer -storepass changeit(密码)
(5)添加证书
正常导入不限制路径
sudo keytool -import -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -file D:\weblogicCas.cer -alias weblogicCas -storepass changeit(此处的密码是证书库的密码,不是起初证书设置的密码,如果没修改过,默认是changeit)
将证书放到jre->lib->security下可用
keytool -import -alias weblogicCas -file weblogicCas.cer -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -trustcacerts -storepass changeit(此处的密码是证书库的密码,不是起初证书设置的密码,如果没修改过,默认是changeit)
(6)显示证书
查询全部证书
keytool -list -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -storepass changeit
根据设置的别名查询证书,可以用来验证某一证书是否成功添加到了证书库中
keytool -list -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径) -storepass changeit -alias weblogicCas(别名)
(7)删除证书
keytool -delete -alias weblogicCas(别名) -keystore cacerts(此处如果当前cmd窗口不在cacerts文件所在目录下,则需要写cacerts文件的完整路径)
注:可能遇到的问题
问题描述
C:\Program Files\Java\jdk1.8.0_241\jre\lib\security>keytool -import
-alias aliyun-maven -keystore cacerts -file E:\entSoftware\aliyun-maven.cer 输入密钥库口令: …………一堆证书内容信息
是否信任此证书? [否]: y 证书已添加到密钥库中 keytool 错误: java.io.FileNotFoundException:
cacerts (拒绝访问。)
原因分析
文件找不到?不可能的,上面能读取到证书内容怎么可能是文件找不到。
真正的原因是因为权限不足,所以拒绝访问。
为什么会权限不足?因为我的JDK是以默认路径安装到C盘中的,对其进行操作需要管理员权限。
解决方案
已管理员身份运行命令提示符,如何以管理员身份运行参考如下链接
参考:https://jingyan.baidu.com/article/ceb9fb10b53ab88cac2ba05b.html