一、Java spring boot 项目
1、JDK生成自签证书,以管理员身份运行CMD窗口
在带jdk的机器上,以管理员身份运行cmd窗口,运行下面命令:
keytool -genkey -alias myhttps -keyalg RSA -keysize 2048 -validity 365 -keystore "D:/soft/ssl/myhttps.keystore"
命令解释:
• -genkey 表示要创建一个新的密钥
• -alias 表示 keystore 的别名
• -keyalg 表示使用的加密算法是 RSA
• -keysize 表示密钥的长度
• -keystore 表示生成的密钥存放位直
• -validity 表示密钥的有效时间,单位为天
2、在java spring boot项目中配置证书
- 将上述生成的 myhttps.keystore 文件放入 /resource 目录下
- 在application.yml 配置文件中添加 ssl 相关配置
二、python flask 项目
1、生成server.crt和server.key文件
1、pip install pyOpenSSL
2、生成私钥,按照提示填写内容
openssl genrsa -des3 -out server.key 1024
3、生成csr文件 ,按照提示填写内容
openssl req -new -key server.key -out server.csr
4、Remove Passphrase from key
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
5、生成crt文件,有效期1年(365天)
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
2、在python flask项目中配置证书
- 将上述生成的server.crt和server.key文件放入项目
- 在启动文件中配置
from flask import Flask
app = Flask(__name__)
app.run('0.0.0.0', debug=True, port=8100, ssl_context=('your_path/server.crt', 'your_path/server.key'))