如何从进入Tornado服务器的HTTP(S)请求中读取X509证书? java中的类似代码:
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,
IOException {
res.setContentType("text/plain");
PrintWriter out = res.getWriter();
X509Certificate[] certs = (X509Certificate[]) req
.getAttribute("javax.servlet.request.X509Certificate");
答案 0 :(得分:1)
在RequestHandler
中,使用self.request.get_ssl_certificate()
。要使用此方法,您还必须在构建cert_reqs
时在ssl_options
中设置HTTPServer
选项:
server = HTTPServer(app,
ssl_options=dict(
certfile="foo.crt",
keyfile="foo.key",
cert_reqs=ssl.CERT_REQUIRED,
ca_certs="cacert.crt"))