我已将 libstrophe 编译为 Windows 的 DLL。
在使用 Jabber 服务器进行授权期间,DecryptMessage()
由于节来回传递,将调用 3 次。在前两个调用它返回0 (SEC_E_OK)
,但在第三个调用它返回0x80090302 (SEC_E_UNSUPPORTED_FUNCTION)
。问题是,根据文档不是 SEC_E_UNSUPPORTED_FUNCTION
有效的返回值。这在 Windows 7 和 Windows XP 上都会发生。
我尝试用垃圾替换传入的加密字符串,看看返回值是什么,它是0x80090318 (SEC_E_INCOMPLETE_MESSAGE)
,所以我知道这不仅仅是“垃圾输入 - 垃圾输出”的情况。我还通过使用 Pidgin 使用相同的 JID 登录来检查 JID 是否正确。
任何人都可以提供任何启示吗?