java 开发环境keytool 创建证书 创建信任库 SpringBoot 信任证书
Java 开发环境创建自定义证书 并信任此证书
步骤(JKS类型):
1. 创建证书
keytool -genkeypair -alias 自定义别名 -keyalg RSA -keysize 2048 -storetype JKS -keystore 自定义证书文件名称.keystore -validity 365 -ext SAN=dns:自定义域名,ip:本机IP
例如(所有需自定义的值,请设定为英文):
keytool -genkeypair -alias demo -keyalg RSA -keysize 2048 -storetype JKS -keystore demo.keystore -validity 365 -ext SAN=dns:demo.xx.xx,ip:39.xx.xx
输入秘钥库口令:123456 回车
再次输入新口令:123456 回车
您的名字与姓氏是什么?
您的组织单位名称是什么?
您的组织名称是什么?
您所在的城市或区域名称是什么?
您所在的省/市/自治区名称是什么?
该单位的双字母国家/地区代码是什么?
CN=对应输入值, OU=对应输入值, O=对应输入值, L=对应输入值, ST=对应输入值, C=对应输入值是否正确?
y 回车
输入 <自定义别名> 的密钥口令
(如果和密钥库口令相同, 按回车)
2. 导出cer文件
keytool -export -alias demo -keystore demo.keystore -file demo.cer
输入密钥库口令:123456 回车 存储在文件 <demo.cer> 中的证书
3. 创建信任库
keytool -import -alias demo -file demo.cer -keystore trustdemo.jks -storepass trustdemo123456
4. Java 运行应用时指定:
提前将生成的.keystore文件放在 src\main\resources 中,信任库文件自行决定,可复制,可指定路径
application.yml中配置
server:
port: 程序运行端口
ssl:
enabled: true
key-store: classpath:demo.keystore
key-store-password: 123456
key-store-type: JKS
key-alias: demo
key-password: 123456
运行时,添加如下-D参数
-Djavax.net.ssl.trustStore=trustdemo.jks -Djavax.net.ssl.trustStorePassword=trustdemo123456
其它类型的步骤基本一样
例如(PKCS12):
1. 生成p12证书
keytool -genkeypair -alias 自定义别名 -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore 自定义证书名称.p12 -validity 365 -storepass 秘钥库密码 -keypass 自定义别名的特定私钥条目的密码 -dname "CN=自定义域名, OU=自定义对应值, O=自定义对应值, L=自定义对应值, ST=自定义对应值, C=自定义对应值" -ext "SAN=dns:自定义域名,ip:开发环境IP"
2. 从p12文件导出公钥证书为CER格式
keytool -export -alias 自定义别名 -keystore 自定义证书名称.p12 -storetype PKCS12 -file 自定义公钥证书.cer
输入密钥库口令: 存储在文件 <自定义公钥证书.cer> 中的证书
3. 自定义信任库
keytool -import -alias 自定义别名 -file 自定义公钥证书.cer -keystore 自定义密钥库名称.jks -storepass 自定义密钥库密码
是否信任此证书? [否]: y 证书已添加到密钥库中

浙公网安备 33010602011771号