如何使用名称服务器的HMac密钥?通信错误:hmac key config not symmetri

2024-06-25 07:01:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是pyro4.34、python2.7和jython2.7。在

名称服务器。我可以像这样启动名称服务器:

pyro4-ns --key abc

Pyro服务器。文档中说我可以在Pyro守护进程上设置_pyroHmacKey属性,但是locateNS方法失败了,出现了一个NamingError cannot find Name Server。在

查看locateNS的API,我发现它有一个名为hmac_key的参数。如果我去掉了_pryoHmacKey并使用了这个arg,Pyro服务器可以正常启动。在

^{pr2}$

客户。文档说明我可以在proxy上设置_pyroHmacKey属性:

proxy = Pyro4.Proxy("PYRONAME:test")
proxy._pyroHmacKey = 'abc'

但是,对proxy方法的第一次调用失败:

CommunicationError: cannot connect: hmac key config not symmetric

Tags: 方法key文档服务器名称属性hmacproxy
1条回答
网友
1楼 · 发布于 2024-06-25 07:01:34

在Pyro服务器代码中,我从Pyro守护进程中删除了_pyroHmacKey属性,因为我假设它只需要在Pyro4.locateNS()的参数中指定。一旦我把它加回去,一切都正常了。在

看起来hmac密钥需要同时出现在这两个位置才能正常工作。在

name_server = Pyro4.locateNS(hmac_key='abc')
daemon = Pyro4.daemon()
daemon._pyroHmacKey = 'abc'
uri = daemon.register(Foo())
ns.register('test, uri)
daemon.requestLoop()

相关问题 更多 >