使用带有TLS的Twisted Perspective Broker进行客户端身份验证

时间:2015-10-22 08:31:18

标签: python ssl twisted perspective broker

我正在尝试使用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中是否可以这样做,如果是这样的话?

1 个答案:

答案 0 :(得分:0)

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

在调用rootObject的特定时刻,传输尚未初始化。但是,如果要在该对象上实现远程方法,例如remote_authenticateUsingTLS,则在协议响应该方法时,它具有传输,并且该传输将具有证书。因此,在IPBRoot的{​​{1}}方法中,构建一个对象,记住传递的rootObject,然后在broker中,您可以使用remote_authenticateUsingTLS使用他们的经纪人从同行那里获得证书。

希望这有帮助!