1 安装python 的 openssl 的类库
pip install pyOpenSSL
2 在 Flask 的代码中可以直接使用,注意ssl_context
的值必须是adhoc
from flask import Flask app = Flask(__name__) app.run('0.0.0.0', debug=True, port=5000, ssl_context='adhoc')
以上代码使用 pyOpenSSL 自带证书。 如果要使用自己配置的证书,可以自己配置一个,然后使用。
3 生成证书:
生成私钥(Generate a private key)
openssl genrsa -des3 -out server.key 1024
Generate a CSR
openssl req -new -key server.key -out server.csr
Remove Passphrase from key
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
产生自签名证书(Generate self signed certificate)
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
使用配置证书,证书路径自行修改
1 from flask import Flask 2 app = Flask(__name__) 3 app.run('0.0.0.0', debug=True, port=8100, ssl_context=('/Users/kracekumarramaraju/certificates/server.crt', '/Users/kracekumarramaraju/certificates/server.key'))
自己生成的证书,浏览器都不承认的,需要购买一些证书,以获得主流浏览器的承认
参考:
创建个人CA证书 :http://blog.csdn.net/yannanxiu/article/details/70670225
http://blog.csdn.net/shenzhan168/article/details/47783651
http://kracekumar.com/post/54437887454/ssl-for-flask-local-development
http://flask.pocoo.org/snippets/111/