如何在twisted中检查身份验证是否有效?

2024-09-27 17:55:35 发布

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

我正在使用这个wombatapi-WAPI(link),它构建在twisted和SOAP之上,以支持加密的客户机-服务器通信,主要用于共享大数据集。你知道吗

WAPI非常容易安装和使用,因为它包含示例客户机和服务器代码(文件:WAPI)_客户端.py和wapi_服务器.py). 你知道吗

我使用openssl中的CA创建了一个简单的数据集“mydataset”和所需的SSL证书:

  • 加利福尼亚州_证书pem哦
  • 服务器_证书pem哦
  • 客户_证书pem. 你知道吗

使用前两个证书,我可以毫无问题地运行wapièu服务器(在127.0.0.1:8080上),并获得以下输出:

> python wapi_server.py 
> setting up WAPI server!
> adding dataset mydataset
> launching dataset-specific initialization code
> registered object simulation (2 methods,0 refs)
> registered object dataset (0 methods,1 refs)
> dataset successfully initialized
> activating SSL support
> activating SSL support
> enabling SSL client authentication
> entering in twisted loop!

然后使用证书1和3运行wapièu客户机(在使用127.0.0.1:8080的同一台计算机上),但出现以下错误:

> python wapi_client.py
> registering dataset mydataset -> http://127.0.0.1:8080/
> entering into main thread loop
> running reactor..
> testing dataset availability
> SOAP call get_attributes
> blocking and waiting for object completion
> something went wrong: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionDone'>: Connection was closed cleanly.]
> object completed
> mydataset : ERROR
> 0 datasets are available
> getting out of main loop

我不明白这个错误。我认为这是因为以下原因之一:

  • 服务器没有响应
  • 身份验证失败(我在使用证书时出错)

如何检查身份验证是否有效,以及如何检查服务器是否响应?你知道吗


Tags: 数据py服务器loopssl客户机objecttwisted
1条回答
网友
1楼 · 发布于 2024-09-27 17:55:35

因此,无论谁使用了Wombat包并运行到这个问题,解决方案如下:

WAPI客户机在文件wapi.conf中配置。您应该在其中指定服务器的地址,如:

https://<ip_address>:<port>/<name_of_dataset>

注意url中的https(安全)和数据集的名称。此外,在配置文件中,您应该提供证书文件(CA和服务器证书)

相关问题 更多 >

    热门问题