Java spring boot 项目和python flask项目 开启 https 请求

一、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 表示密钥的有效时间,单位为天

Java spring boot 项目和python flask项目 开启 https 请求_第1张图片

2、在java spring boot项目中配置证书

  1. 将上述生成的 myhttps.keystore 文件放入 /resource 目录下
    Java spring boot 项目和python flask项目 开启 https 请求_第2张图片
  2. 在application.yml 配置文件中添加 ssl 相关配置
    Java spring boot 项目和python flask项目 开启 https 请求_第3张图片

二、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项目中配置证书

  1. 将上述生成的server.crt和server.key文件放入项目
  2. 在启动文件中配置
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'))  

你可能感兴趣的:(https,java,Python,flask,python,java,https)