Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja DecryptMessage (Kerberos) odszyfrowuje komunikat. Niektóre pakiety nie szyfrują i odszyfrowywają wiadomości, ale wykonują i sprawdzają skrót integralności.
Uwaga
Funkcja EncryptMessage (Kerberos) i DecryptMessage (Kerberos) może być wywoływana jednocześnie z dwóch różnych wątków w kontekście jednego interfejsu dostawcy obsługi zabezpieczeń (SSPI), jeśli jeden wątek jest szyfrujący, a drugi odszyfrowuje. Jeśli więcej niż jeden wątek jest szyfrowane lub więcej niż jeden wątek jest odszyfrowywać, każdy wątek powinien uzyskać unikatowy kontekst.
Składnia
SECURITY_STATUS SEC_Entry DecryptMessage(
_In_ PCtxtHandle phContext,
_Inout_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo,
_Out_ PULONG pfQOP
);
Parametry
phContext [w]
Dojście do kontekstu zabezpieczeń , który ma być używany do odszyfrowania wiadomości.
pMessage [wejście, wyjście]
Wskaźnik do struktury SecBufferDesc . W danych wejściowych struktura odwołuje się do co najmniej jednej struktury SecBuffer , która może być typu SECBUFFER_DATA. Bufor zawiera zaszyfrowany komunikat. Zaszyfrowana wiadomość jest odszyfrowywane, zastępując oryginalną zawartość buforu.
MessageSeqNo [w]
Numer sekwencji oczekiwany przez aplikację transportu, jeśli istnieje. Jeśli aplikacja transportowa nie obsługuje numerów sekwencji, ten parametr musi być ustawiony na zero.
pfQOP [wyjście]
Wskaźnik do zmiennej typu ULONG , która odbiera flagi specyficzne dla pakietu, które wskazują jakość ochrony.
Ten parametr może być następującą flagą.
| Wartość | Znaczenie |
|---|---|
| SECQOP_WRAP_NO_ENCRYPT | wiadomość nie została zaszyfrowana, ale utworzono nagłówek lub przyczepę. |
Uwaga
KERB_WRAP_NO_ENCRYPT ma tę samą wartość i to samo znaczenie.
Wartość zwracana
Jeśli funkcja sprawdza, czy komunikat został odebrany w odpowiedniej sekwencji, funkcja zwraca SEC_E_OK.
Jeśli funkcja nie może odszyfrować komunikatu, zwraca jeden z następujących kodów błędów.
| Kod powrotny | Opis |
|---|---|
| SEC_E_INCOMPLETE_MESSAGE | Dane w buforze wejściowym są niekompletne. Aplikacja musi odczytać więcej danych z serwera i ponownie wywołać DecryptMessage (Kerberos). |
| SEC_E_OUT_OF_SEQUENCE | Komunikat nie został odebrany w prawidłowej kolejności. |
Uwagi
Czasami aplikacja odczytuje dane ze strony zdalnej, próbuje je odszyfrować przy użyciu funkcji DecryptMessage (Kerberos) i odnajduje, że funkcja DecryptMessage (Kerberos) zakończyła się pomyślnie, ale wyjściowe są puste. Jest to normalne zachowanie, a aplikacje muszą mieć do czynienia z nim.
Aby uzyskać informacje na temat współdziałania z interfejsem GSSAPI, zobacz SSPI/Kerberos Interoperability with GSSAPI (Współdziałanie interfejsu SSPI/Kerberos z interfejsem GSSAPI).
Windows XP: Ta funkcja była również znana jako UnsealMessage. Aplikacje powinny teraz używać tylko funkcji DecryptMessage (Kerberos).
Wymagania
| Wymaganie | Wartość |
|---|---|
| Minimalny obsługiwany klient | Windows XP [tylko aplikacje klasyczne] |
| Minimalny obsługiwany serwer | Windows Server 2003 [tylko aplikacje klasyczne] |
| Nagłówek | Sspi.h (w tym Security.h) |
| Biblioteka | Secur32.lib powiedział: |
| DLL | Secur32.dll |