DMSS Android App P2P通信包WSSE密码摘要不匹配问题排查
大华IP摄像头WSSE摘要匹配问题
拦截到的发送至大华IP摄像头的通信包头部信息如下:
NFGET /probe/device/7M02702PCAFFAC8 HTTP/1.1 X-Version: 6.7.11 X-ToUType: Client/Dmss_Android CSeq: -1794263239 Authorization: WSSE profile="UsernameToken" X-WSSE: UsernameToken Username="cba1b29e32cb17aa46b8ff9e73c7f40b", PasswordDigest="LYn/CyMIaGs2zIVw6TsVv60hO2c=", Nonce="-1909749795", Created="2023-06-28T22:13:15+05:30"
按照Oasis定义的WSS UsernameToken标准摘要公式:Password_Digest = Base64 ( SHA-1 ( nonce + created + password ) )
我编写了以下Java代码生成摘要:
Base64.getEncoder().encodeToString(MessageDigest.getInstance("SHA1") .digest(("-1909749795"+"2023-06-28T22:13:15+05:30"+password).getBytes("utf8")));
目前遇到的问题是:生成的摘要与P2P包中的PasswordDigest不匹配,但与Chrome插件WSSE Generator的结果完全一致。希望得到以下技术见解:
- 大华是否严格遵循WSS UsernameToken规范?
- 大华是否对原始密码做了额外的预处理(如编码转换、哈希前置处理等)?
- 已知原始密码的情况下,有没有对应的代码可以生成匹配大华设备要求的
PasswordDigest?
内容的提问来源于stack exchange,提问作者waqyun
相关产品推荐
相关产品推荐

