Я скомпилировал libstrophe как DLL для Windows.
Во время авторизации с сервером Jabber DecryptMessage()
называется трижды, так как строфы передаются взад и вперед. На первых двух звонках возвращается 0 (SEC_E_OK)
, но при третьем звонке возвращается 0x80090302 (SEC_E_UNSUPPORTED_FUNCTION)
, проблема в соответствии с документация SEC_E_UNSUPPORTED_FUNCTION
не является допустимым возвращаемым значением. Это происходит как в Windows 7, так и в Windows XP.
Я попытался заменить входящую зашифрованную строку мусором, чтобы увидеть, что было возвращаемое значение, и это было 0x80090318 (SEC_E_INCOMPLETE_MESSAGE)
так что я знаю, что это не просто случай «мусора на входе». Я также проверил правильность JID, войдя в систему с тем же JID, используя Pidgin.
Может ли кто-нибудь предложить какое-либо просветление, пожалуйста?
Задача ещё не решена.