Spring Boot 配置ssl证书实现https详细

3 篇文章 0 订阅
2 篇文章 0 订阅
[color=red][size=large][b]一.注意事项[/b][/size][/color]

[size=medium]域名和服务器IP是一对一绑定的,所以对于一般域名只能对应一个证书,但如果你想把已经购买的并且已经安装在服务器的证书,在其它服务器上再次使用安装证书,前提是购买的域名证书是以通配符(*)开头的域名(例如:*.yyy.12345.com),则可以再多个服务器上安装证书,其它可以安装的服务器域名(可以是test.yyy.12345.com,demo.yyy.12345.com等)。[/size]

[color=red][size=large][b]二.安装证书[/b][/size][/color]
[size=medium]1.首先需要安装OpenSSL的开源软件包,OpenSSL可以下cmd命令上下,进行证书相关的操作!貌似很强大!


2.在服务上用openssl生成公钥和私钥
openssl req -new -key myPrivateKey.key -out server.csr
myPrivateKey.key自己保存,server.csr提交给代理商(证书颁发机构)进行签名,证书颁发机构签名完成后会给出 yourDomain.crt文件(需要注意的是证书颁发机构会返回不止一个crt文件,刚开始研究这SSL的时候总以为都是有用的,但后来发现,其实里面的内容都是一样的!具体我也没完全搞明白)

3.或是你已经有购买的证书,已经有 crt证书和.key文件 或其它格式证书(已经有要能得到crt文件或其它格式的证书文件即可,理论上可以去证书颁发机构官网再去重新下载一份)。

4.之前我不太理解为什么会有这么多格式(crt,cer,pem,p12等),其实貌似他们之间是可以互相转换的.你的项目需要用到哪些格式的证书文件,你就进行转换就可以了(具体怎么转,我也是临时去网上查)!
[color=red]由于我们是在Java环境中,常用的证书形式有p12格式的,jks格式的,所以需要将crt证书进行格式转换,以转换为p12格式为例:[/color]

openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12

[color=red]输入完命令后回车会出现提示输入一个[/color][color=violet]密码,密码[/color][color=red]非常重要,一定要记住,后面会用到![/color]

这样就生成了spring boot上可以用的私钥格式文件 server.p12
在这个转换的过程中要求设置一个密码,[color=red]请记住这个[/color][color=violet]密码[/color]

然后是给spring boot配置 server.p12证书

首先进入cmd用命令查询一下别名
keytool -list -keystore server.p12

运行该命令会提示你输入密码,就是上面转换格式时提示设置的[color=violet]密码[/color],输入[color=violet]密码[/color]后会显示:

[color=darkblue]秘钥库类型: JKS
秘钥库提供方:SUN

您的密钥库包含 1 个条目[/color]

[color=darkred]1[/color][color=darkblue], 2017-1-7, PrivateKeyEntry
证书指纹 (SHA1) : 《这里是密文》[/color]

注意其中这个[color=darkred]1[/color]这是我们运行这个命令的目的,这个1会在spring配置文件中也会用到


把证书server.p12文件复制到spring boot项目中的 src/main/resources/ 目录下,和application.properties平级,主要得放到classpath目录下,方便查找.

在application.properties中添加如下内容(如果是多数据源,就在相应的数据源下添加)
server.port=8443(要使用的端口号,只要不要和服务器上的其它端口号重复就可以)
server.ssl.key-store:classpath:server.p12(证书存放路径,就是src/main/resources/ 目录下,既classpath目录下,所以前面加上classpath:)
server.ssl.key-store-password: [color=violet]密码[/color](就是上面之前设置的[color=violet]密码[/color])
server.ssl.keyStoreType: PKCS12(证书格式,PKCS12格式就是指 p12文件,)
server.ssl.keyAlias: [color=darkred]1[/color](这个是别名,是之前查用领查询出的别名[color=darkred]1[/color],貌似大部分情况私有秘钥privateKey都是[color=darkred]1[/color],)[/size]

[color=red][size=large][b]三.总结[/b][/size][/color]

[size=medium]直接在springboot里面配置是为了应对简单的服务,真正的系统会在nginx上配置证书。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot中启用SSL证书,需要进行以下步骤: 1. 在Spring Boot配置文件(application.yml或application.properties)中添加SSL相关的配置信息。这些配置包括启用SSL证书文件路径、证书密码和证书类型等。示例配置如下: ``` server: port: 443 ssl: enabled: true key-store: classpath:证书名称.jks key-store-password: 证书密码 key-store-type: JKS ``` 在该示例中,将服务器端口设置为443,并启用SSL证书文件的路径设置为classpath:证书名称.jks,证书密码为指定的密码,证书类型为JKS。 2. 获取SSL证书。您可以通过去阿里云、腾讯云等提供SSL证书的服务商申请证书。对于个人用户,您也可以申请免费的证书。申请证书后,您会得到一个压缩包,里面包含了jks格式的证书和密码。 3. 将证书文件添加到Spring Boot项目中。您可以将jks格式的证书文件放置在项目的资源目录下,例如src/main/resources目录。 4. 重新启动Spring Boot应用程序。在重新启动应用程序后,Spring Boot将会加载配置SSL证书并启用SSL功能。 通过以上步骤,您可以在Spring Boot中启用SSL证书。这样可以增加您的网站安全性,并使其看起来更加可靠。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Spring Boot配置SSL证书(开启https)](https://blog.csdn.net/weixin_43118617/article/details/122199258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值