我正在嘗試使用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'。我的部分太慢了。 –