【问题标题】:Python embedded web server with client authentication具有客户端身份验证的 Python 嵌入式 Web 服务器
【发布时间】:2012-02-22 17:28:56
【问题描述】:

我需要构建一个支持 2 种不同类型用户的 python web 服务器:

  • “超级管理员”,当他们使用预配置的笔记本电脑/浏览器连接时,可以完全访问管理面板。
  • 管理员,对管理面板的访问受到限制,并且只能使用用户名/密码组合进行连接。

我认为 SSL 客户端身份验证是对技术人员进行身份验证的一种可能解决方案。

请注意,网络服务器将嵌入产品中,无法访问互联网,因此无法连接到 CA。

SSL 客户端身份验证是一个好的解决方案,还是有更简单或更好的选择?

这是我发现的……

CherryPy 似乎是一个非常好的、简单的 python web 服务器。但是,它似乎不支持客户端身份验证。

M2Crypto 似乎是一个非常完整的库,它支持所有形式的 SSL 身份验证,但是我还没有找到如何使用 M2Crypto 设置 python Web 服务器进行 SSL 客户端身份验证的详细示例。

pyOpenSSL 似乎已经死了。

我还找到了一个食谱,它解释了如何使用 SSL 设置 python web 服务器。不过……

使用这个秘籍,只有服务器被认证,而客户端 仍然未经身份验证(即服务器不会请求客户端 证书)。

来源:http://code.activestate.com/recipes/442473-simple-http-server-supporting-ssl-secure-communica/

谁能指出我正确的方向或链接到我正在尝试做的有据可查的实施?

谢谢你:)

【问题讨论】:

  • 你不能嵌入一个像 lighttpd 或 cherokee 这样的“真正的”网络服务器吗?然后使用一个微型python框架

标签: python ssl openssl cherrypy m2crypto


【解决方案1】:

看看扭曲的库:http://twistedmatrix.com/documents/current/core/examples/index.html

链接中还有一个简单的 echoservl_ssl 和 echoclient_ssl 示例。

(可选)捆绑 apache + 任何 Web 框架,你就可以了。网上有大量关于小型嵌入式 Web 服务器的文章。

【讨论】:

  • 在示例中,客户端似乎对服务器进行了身份验证。我希望服务器对客户端进行身份验证。
猜你喜欢
  • 2017-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-04
相关资源
最近更新 更多