Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
DecryptMessage (Digest) işlevi bir iletinin şifresini çözer. Bazı paketler iletileri şifrelemez ve şifresini çözmez, bunun yerine bir bütünlük karması gerçekleştirir ve denetler.
Özet güvenlik destek sağlayıcısı (SSP), istemci ve sunucu arasında yalnızca SASL mekanizması olarak ileti alışverişi yapılan iletiler için şifreleme ve şifre çözme gizliliği sağlar.
Uyarı
Bir iş parçacığı şifreleniyorsa ve diğeri şifresi çözülüyorsa EncryptMessage (Digest) ve DecryptMessage (Digest) tek bir güvenlik destek sağlayıcısı arabirimi (SSPI) bağlamındaki iki farklı iş parçacığından aynı anda çağrılabilir. Birden fazla iş parçacığı şifreleniyorsa veya birden fazla iş parçacığının şifresi çözülüyorsa, her iş parçacığı benzersiz bir bağlam almalıdır.
Sözdizimi
SECURITY_STATUS SEC_ENTRY DecryptMessage(
PCtxtHandle phContext,
PSecBufferDesc pMessage,
unsigned long MessageSeqNo,
unsigned long *pfQOP
);
Parametreler
phContext [içinde]
İletinin şifresini çözmek için kullanılacak güvenlik bağlamı tanıtıcısı.
pMessage [içeri, dışarı]
SecBufferDesc yapısının işaretçisi. Girişte, yapı bir veya daha fazla SecBuffer yapısına başvurur. Bunlardan en az biri SECBUFFER_DATA türünde olmalıdır. Bu arabellek şifrelenmiş iletiyi içerir. Şifrelenmiş iletinin şifresi yerinde çözülür ve arabelleğindeki özgün içeriğin üzerine yazılır.
Özet SSP'sini kullanırken, girişte yapı bir veya daha fazla SecBuffer yapısına başvurur. Bunlardan biri SECBUFFER_DATA veya SECBUFFER_STREAM türünde olmalı ve şifrelenmiş iletiyi içermelidir.
MessageSeqNo [içinde]
Varsa, taşıma uygulaması tarafından beklenen sıra numarası. Aktarım uygulaması sıra numaralarını korumazsa, bu parametre sıfır olarak ayarlanmalıdır.
Özet SSP'sini kullanırken bu parametre sıfır olarak ayarlanmalıdır. Özet SSP, sıralı numaralandırmayı dahili olarak yönetir.
pfQOP [çıkış]
Koruma kalitesini gösteren pakete özgü bayraklar alan ULONG türünde bir değişkene yönelik bir işaretçi.
Bu parametre aşağıdaki bayraklardan biri olabilir.
Değer | Anlamı |
---|---|
SECQOP_WRAP_NO_ENCRYPT |
İleti şifrelenmedi, ancak bir üst bilgi veya fragman oluşturuldu. Not: KERB_WRAP_NO_ENCRYPT aynı değere ve aynı anlama sahiptir. |
|
Özet SSP'sini kullanırken, güvenlik bağlamı yalnızca imzayı doğrulayacak şekilde ayarlandığında bu bayrağı kullanın. Daha fazla bilgi için bkz. Koruma Kalitesi. |
Dönüş değeri
İşlev, iletinin doğru sırada alındığını doğrularsa, işlev SEC_E_OK döndürür.
İşlev iletinin şifresini çözemezse aşağıdaki hata kodlarından birini döndürür.
İade kodu | Açıklama |
---|---|
SEC_E_BUFFER_TOO_SMALL | İleti arabelleği çok küçük. Özet SSP ile kullanılır. |
SEC_E_CRYPTO_SYSTEM_INVALID | Güvenlik bağlamı için seçilen şifre desteklenmez. Özet SSP ile kullanılır. |
SEC_E_INCOMPLETE_MESSAGE | Giriş arabelleğindeki veriler eksik. Uygulamanın sunucudan daha fazla veri okuması ve DecryptMessage'ı (Özet) yeniden çağırması gerekir. |
SEC_E_INVALID_HANDLE | phContext parametresinde geçerli olmayan bir bağlam tanıtıcısı belirtildi. Özet SSP ile kullanılır. |
SEC_E_MESSAGE_ALTERED | İleti değiştirildi. Özet SSP ile kullanılır. |
SEC_E_OUT_OF_SEQUENCE | İleti doğru sırada alınmadı. |
SEC_E_QOP_NOT_SUPPORTED | Güvenlik bağlamı ne gizlilik ne de bütünlük tarafından desteklenmez. Özet SSP ile kullanılır. |
Açıklamalar
Bazen bir uygulama uzak taraftan verileri okur, DecryptMessage (Digest) kullanarak şifresini çözmeyi dener ve DecryptMessage (Özet) işleminin başarılı olduğunu ancak çıkış arabelleklerinin boş olduğunu keşfeder. Bu normal bir davranıştır ve uygulamaların bununla başa çıkabilmesi gerekir.
Windows XP: Bu işlev UnsealMessage olarak da bilinirdi. Uygulamalar artık yalnızca DecryptMessage (Özet) kullanmalıdır.
Gereksinimler
Gereksinim | Değer |
---|---|
Desteklenen en düşük düzeydeki istemci | Windows XP [yalnızca masaüstü uygulamaları] |
Desteklenen en düşük sunucu | Windows Server 2003 [yalnızca masaüstü uygulamaları] |
Başlık | Sspi.h (Security.h dahil) |
Kütüphane | Secur32.lib |
DLL | Secur32.dll |
Ayrıca bkz.
- SSPI İşlevleri
- EncryptMessage (Özet)
- SecBuffer
- SecBufferDesc