我创建了一个在 HTTPS 上运行的简单 Flask 服务器,可以通过外部设备访问。
当我连接其他设备(例如 ESP8266)时,我需要提供 SHA-1 指纹。
我无法控制生成的 SHA-1 指纹(而且我不知道它是如何生成的)。
到目前为止,我总是必须从浏览器(firefox)复制并粘贴 SHA-1 指纹:我需要通过浏览器访问服务器 URL,单击 URL 旁边的锁定符号,单击“查看证书” "并复制并粘贴 SHA-1 指纹。
每次重新启动服务器时,SHA-1 指纹都会发生变化,因此每次都必须复制并粘贴它(如上所述),这非常耗时。
我想知道是否有办法:
我在互联网上做了一些研究,但到目前为止什么也没发现:(
提前谢谢您!
这是我的代码:
from flask import Flask, request
app = Flask(__name__)
@app.route("/", methods=["GET"])
def hello():
return "Hello World!
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080, ssl_context='adhoc')
import ssl, hashlib
cert = ssl.get_server_certificate(('my_server_url', my_server_port))
pem_cert = ssl.PEM_cert_to_DER_cert(cert)
sha1_fingerprint = hashlib.sha1(pem_cert).hexdigest()
print(sha1_fingerprint)
非常感谢!