【问题标题】:Client Authentication using Twisted Perspective Broker with TLS使用 Twisted Perspective Broker 和 TLS 的客户端身份验证
【发布时间】:2016-01-21 11:15:25
【问题描述】:

我正在尝试使用 Twisted 的 Perspective Broker 创建服务器/客户端。我想使用 TLS 进行客户端身份验证,以识别谁是连接的人。

我找到了以下链接: http://twistedmatrix.com/documents/current/core/howto/ssl.html

Use TLS and Python for authentication

但是,两者都在寻址协议。我不明白如何通过 Perspective Broker 获取客户身份。终于看到了:

Use alternate authentication in twisted's Perspective Broker

但是,这提到调用根对象。这是否意味着我不能使用 Avatar/IPerspective 呢?即使我使用 pb.Referencable 并且服务器是管理用户对象的路径,remote_foo() 函数如何从证书中获取客户端身份?

更新:我解决了切换到 Twisted AMP 的问题,然后由于我可以访问传输,以这种方式解决了我的问题。但是我想知道这在 Perspective Broker 中是否可行,如果可以,如何实现?

【问题讨论】:

    标签: python ssl twisted perspective broker


    【解决方案1】:

    IPBRoot.rootObject(...) 被传递一个BrokerBroker 是一个协议。

    在调用rootObject 的特定时刻,传输尚未初始化。但是,如果您要在该对象上实现一个远程方法,例如remote_authenticateUsingTLS,那么当协议响应该方法时,它就有一个传输,并且该传输将有一个证书。因此,在您的IPBRootrootObject 方法中,构造一个对象来记住它传递的broker,然后在remote_authenticateUsingTLS 中,您可以使用Certificate.peerFromTransport(self.broker.transport) 使用他们的代理从对等方获取证书.

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多