上一节 亲测: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信任的颁布者里面
具体步骤: 谷歌浏览器->设置->高级->管理证书
image.png
添加进去以后,再双击安装client.csr,就可以了
Firefox
火狐浏览器也是需要手动添加信任的,将生成的ca.csr文件添加进去。
具体步骤:
火狐浏览器->菜单->选项
image.png
image.png
添加进去以后,再双击安装client.csr,如果在从谷歌浏览器的时候安装过,现在就可以不用安装啦!
其他浏览器添加信任大家就自行百度啦,应该都是简单的设置。
3、运行
运行你的.py文件,然后到浏览器输入:https://localhost:8000,就可以看到文件里打印的:‘Hello, World!’
到这里整个流程就完成啦!要是有什么问题,欢迎留言。
网友评论