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/
http://blog.chinaunix.net/uid-9793706-id-3566191.html
http://baike.baidu.com/view/5262561.htm