发布
社区首页 >问答首页 >如何在django中检索ssl证书?

如何在django中检索ssl证书?
EN

Stack Overflow用户
提问于 2014-02-19 00:04:14
回答 1查看 2.1K关注 0票数 2

是否可以从Django中的当前连接中检索客户端的SSL证书?我没有看到从lighttpd传递的请求上下文中的证书。我的设置有lighttpd和django在快速and模式下工作。目前,我被迫手动连接回客户端的IP以验证证书。有什么巧妙的方法来避免这种情况吗?谢谢!

更新:我将这些行添加到我的lighttpd.conf中:

代码语言:javascript
代码运行次数:0
复制
ssl.verifyclient.exportcert = "enable"
setenv.add-request-header = (
    "SSL_CLIENT_CERT" => env.SSL_CLIENT_CERT
)

不幸的是,env.SSL_CLIENT_CERT未能取消引用(不存在吗?)莱特普也没能开始。如果我将"env.SSL_CLIENT_CERT“替换为像"1”这样的静态值,它将成功地传递给request.META字段中的django。还有什么我可以试试吗?这里是lighttpd 1.4.29。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-19 08:09:03

是。虽然这个问题不是Django特有的。

通常,web服务器可以选择将SSL客户端证书数据导出为环境变量或HTTP报头。我自己用Apache (不是Lighttpd)做过这件事。

我就是这样做的

  1. 在Apache上,将SSL证书数据导出到环境变量。
  2. 然后,添加一个包含这些环境变量的新HTTP请求头
  3. 用Python代码读取标头

SSL

看起来选项名是ssl.verifyclient.exportcert

虽然我不知道如何使用lighttpd来完成第二步,因为我在这方面的经验很少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21868265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档