【WEB-4 】ESP32S2-HTTPS + springboot http转换成https 以及 生成 导出数字证书 使用openssl把cer转换为pem

  • Post author:
  • Post category:其他


首先生成证书,然后修改项目的配置,运行即可。

得到证书后再导出cer文件供ESP32-S2使用

springboot:

1、CMD生成证书 每次生成的证书都是不同的

keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

关键字解释:

alias 密钥别名 此处为tomcat

storetype 指定密钥仓库类型

keyalg 生证书的算法名称,RSA是一种非对称加密算法

keysize 证书大小

keystore 生成的证书文件的名称

validity 证书的有效期

2、执行CMD之后

在输入证书生成命令之后,会提示输入:

密钥库口令:

证书密码

,在后面的项目中配置证书时用到

姓氏: 一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写

标准。

组织单位: 证书使用单位信息,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的

证书还是需要填写标准。

组织单位名称: 证书使用单位名称,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证 书还是需要填写标准。

所在的城市或区域名称:浏览器中查看证书信息时会显示。

所在的省/市/自治区名称:浏览器中查看证书信息时会显示。

单位的双字母国家/地区代码:国家或地区编码,浏览器中查看证书信息时会显示

3、将生成的密钥证书拷贝到springboot项目中的resource中

4、修改项目配置文件application.properties,增加如下配置项

server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=sgd123
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat 

server.ssl.key-store=classpath:keystore.p12 (密钥文件路径,也可以配置绝对路径)

server.ssl.key-store-password=***** (密钥生成时输入的密钥库口令)

server.ssl.keyStoreType=PKCS12 (密钥类型,与密钥生成命令一致)

server.ssl.keyAlias=tomcat (密钥别名,与密钥生成命令一致)并非生成的文件名 注意区分

运行项目即可,

注意: 若运行处提示Module is not specified 则

打开编译配置界面

在这里插入图片描述

选择当前项目编译

在这里插入图片描述

至此已经可以了,http连接已经不能访问,只能访问https

在这里插入图片描述

因为是自己做的证书,所以是不受信任的。

在这里插入图片描述

【查看证书】需要密码

keytool -list -v -keystore keystore.p12

在这里插入图片描述

【导出证书】需要密码

keytool -alias tomcat -exportcert -keystore test.jks -file test.cer

在这里插入图片描述

导出的证书在sgd文件夹下

.cer文件转换成.pem文件 供ESP32S2的https访问

1、安装openssl

在这里插入图片描述

2、使用openssl命令x509把.cer文件转换成.pem文件


进入安装目录,找到start.bat


在这里插入图片描述

转换

在这里插入图片描述

得到pem

在这里插入图片描述

打开pem 复制内容

在这里插入图片描述

粘贴到esp32s2的pem中

在这里插入图片描述

配置编译

idf.py menuconfig

https链接

在这里插入图片描述

跳过CommonName 域名验证

在这里插入图片描述

可以去除允许http访问

在这里插入图片描述

编译下载

在这里插入图片描述

在这里插入图片描述



版权声明:本文为sgd985437原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。