简体   繁体   中英

Tornado read X509 certificate from request header

How can I read the X509 certificate from an HTTP(S) request that comes into a Tornado server? Similar code in 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");

In a RequestHandler , use self.request.get_ssl_certificate() . To use this method you must also set the cert_reqs option in ssl_options when constructing the HTTPServer :

server = HTTPServer(app,
    ssl_options=dict(
        certfile="foo.crt",
        keyfile="foo.key",
        cert_reqs=ssl.CERT_REQUIRED,
        ca_certs="cacert.crt"))

http://www.tornadoweb.org/en/stable/httputil.html#tornado.httputil.HTTPServerRequest.get_ssl_certificate

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM