自签证书+SpringBoot2使用

0 确认jdk版本在8u301或以上,重要!!!

1 安装openssl,并配置openssl安装目录/bin到系统环境变量Path下。window,linux都有。

2 创建 openssl.cnf 文件,内容如下:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = CN
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = GD
localityName = Locality Name (eg, city)
localityName_default = ShenZhen
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = lion360
commonName = Common Name (eg, your name or your server's hostname)
commonName_max = 64

[v3_req]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
IP.1 = 192.168.30.4
IP.2 = 192.168.30.5
DNS.1 = localhost

属性自己看着填。IP.1和IP.2 是你要再哪些ip下使用证书,一定要把所有要访问的ip填写上,重要!

3 生成私钥和证书签名请求(CSR)

openssl req -new -newkey rsa:2048 -days 3650 -nodes -keyout mykey.key -out mycsr.csr -config openssl.cnf

这里会要你输入一些属性,国家城市啥的,之前填过的,可以不用管,一路回车。

4 生成自签名证书

openssl x509 -req -in mycsr.csr -signkey mykey.key -out mycert.crt -days 3650 -extensions v3_req -extfile openssl.cnf

5 将证书转为 .p12 格式

openssl pkcs12 -export -in mycert.crt -inkey mykey.key -out keystore.p12 -name myalias

这里会要求你输入密码(如123456),需要自己记住,下一步要用到

6 配置 Spring Boot 使用 .p12 文件
把keystore.p12文件放在项目resources目录下,然后yml里添加配置:

server:
  ssl:
    key-store: classpath:keystore.p12
    key-store-password: 123456  # 替换成你为 keystore 设置的密码
    key-store-type: PKCS12
    key-alias: myalias  # 你为证书设置的别名
  port: 8443  # 替换成你自己的端口

如果想把证书放在磁盘上,可以这么配置

server:
  ssl:
    key-store: file:///D:/WMS/keystore.p12 # 替换成你的文件目录
    key-store-password: 123456
    key-store-type: PKCS12
    key-alias: myalias

7 客户端安装证书

  • 打开 Windows 的证书管理器:运行 > certmgr.msc
  • 找到 受信任的根证书颁发机构,右键点击选择 所有任务 > 导入
  • 导入你的 mycert.crt 文件。

8 重启浏览器
终于,现在可以访问
https://localhost/api/xx/yy/zz
或https://192.168.30.4/api/xx/yy/zz
或https://192.168.30.5/api/xx/yy/zz
了~~~

posted @ 2025-02-26 10:28  淘气小饼干  阅读(96)  评论(0)    收藏  举报