我正在尝试使用gSOAP与支持ONVIF的网络摄像头对话,并且我需要一种方法来指定soap_wsse_add_UsernameTokenDigest加密密码时使用的时间。gSOAP - 有没有一种方法来指定soap_wsse_add_UsernameTokenDigest的时间?
目前我无法确保相机和我的客户端都有正确的NTP时间同步。因此,我想采用诸如python-onvif之类的工具所使用的方法,并简单地将偏移量应用于生成UsernameToken所用的时间。相机的日期/时间可以在没有验证的情况下进行检索,因此计算这样的偏移量是微不足道的。
我的问题是,我看不到任何方式来获取soap_wsse_add_UsernameTokenDigest当它计算密码哈希时使用除当前时间以外的任何东西。
有没有什么方法可以改变soap_wsse_add_UsernameTokenDigest使用什么时间,而不是改变系统时钟?
我建议用gSOAP开发者发布[功能请求](https://sourceforge.net/p/gsoap2/feature-requests/)。实现额外的API调用应该相当容易,它将时间作为参数传递,而不是使用当前时间。 –
我这样做了,但事实证明它已经在2.8.49中添加为'soap_wsse_add_UsernameTokenDigest_at'。我的部分太慢了。 –