document.write("");

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
证书已添加到密钥库中

 

posted @ 2025-08-26 11:48  人间春风意  阅读(36)  评论(0)    收藏  举报