gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:08 25 4
gpt4 key购买 nike

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

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

Use TLS and Python for authentication

但是两者都在处理一个协议(protocol)。我看不出如何通过 Perspective Broker 获取客户身份。最后,我看到了:

Use alternate authentication in twisted's Perspective Broker

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

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

最佳答案

IPBRoot.rootObject(...)传递了一个 BrokerBroker 是一种协议(protocol)。

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

希望这对您有所帮助!

关于python - 使用带 TLS 的 Twisted Perspective Broker 进行客户端身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com