欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python tornado使用OpenSSL生成的证书

程序员文章站 2022-06-29 18:34:49
...

上一节 亲测:windows使用OpenSSL生成证书(使用者备用名称(DNS))已经使用OpenSSL生成了证书,现在就开始使用这些证书了。
使用分为两步:服务端使用和客户端使用

1、服务端使用

由于tornado支持使用SSL证书,所有直接使用一下代码测试就可以啦!

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os.path

from tornado import httpserver
from tornado import ioloop
from tornado import web

class TestHandler(web.RequestHandler):
    def get(self):
        self.write("Hello, World!")

def main():
    settings = {
        "static_path": os.path.join(os.path.dirname(__file__), "static"),
    }
    application = web.Application([
        (r"/", TestHandler),
    ], **settings)
    server = httpserver.HTTPServer(application, ssl_options={
          "certfile": os.path.join(os.path.abspath("."), "server.crt"),
          "keyfile": os.path.join(os.path.abspath("."), "server.key"),
    })
    server.listen(8000)
    ioloop.IOLoop.instance().start()

if __name__ == "__main__":
    main()

将以上代码保存为test.py文件,将上一节生成的bin文件下的sever.crt和server.key文件放在test.py同级目录下,可能你的命名不是server,但是如果完全是根据上一节执行的,那就用server。

2、客户端使用(浏览器)
chrome

直接双击安装client.csr,会提示你,证书的发布者不可信,所以需要将生成的ca.csr文件添加到chrome信任的颁布者里面
具体步骤: 谷歌浏览器->设置->高级->管理证书


python tornado使用OpenSSL生成的证书
image.png

添加进去以后,再双击安装client.csr,就可以了

Firefox

火狐浏览器也是需要手动添加信任的,将生成的ca.csr文件添加进去。
具体步骤:
火狐浏览器->菜单->选项


python tornado使用OpenSSL生成的证书
image.png

python tornado使用OpenSSL生成的证书
image.png

添加进去以后,再双击安装client.csr,如果在从谷歌浏览器的时候安装过,现在就可以不用安装啦!
其他浏览器添加信任大家就自行百度啦,应该都是简单的设置。

3、运行

运行你的.py文件,然后到浏览器输入:https://localhost:8000,就可以看到文件里打印的:‘Hello, World!’
到这里整个流程就完成啦!要是有什么问题,欢迎留言。