首先生成证书,然后修改项目的配置,运行即可。
得到证书后再导出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访问
编译下载