由于项目需求,需要获取https通信中的客户端证书,环境是基于Django开发的web程序,部署到Apache服务器上。本文不涉及如何配置ubuntu 12.04中Apache 中的https双向认证,也没有关于基于django框架的web程序开发。这里只是介绍如何获得双向认证过程中客户端证书。
1. 配置wsgi,程序如下:
def application(environ, start_response): # Sorting and stringifying the environment key, value pairs response_body = ['%s: %s' % (key, value) for key, value in sorted(environ.items())] response_body = '\n'.join(response_body) status = '200 OK' response_headers = [('Content-Type', 'text/plain'), ('Content-Length', str(len(response_body)))] start_response(status, response_headers) return [response_body]
2.https登陆配置好的url即显示证书信息,下图所示SSL_CLIENT_CERT 就是environ中的key,value值对应公钥证书。