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.
Zarflı iletinin kodunu çözmek için gereken genel görevler aşağıdaki çizimde gösterilmiştir ve bunu izleyen listede açıklanmıştır.
Zarflı verilerin kodunu çözme 
Önceki çizimde gösterildiği gibi anahtar taşıma anahtarı yönetimini kullanarak zarflı verilerin kodunu çözme olaylarının sırası aşağıdaki gibidir:
- dijital olarak zarflanmış iletisinin işaretçisi alınır.
- Bir sertifika deposu açılır.
- İletiden, alıcı kimliği (Kimliğim) alınır.
- Sertifikayı almak için alıcı kimliği kullanılır.
- Bu sertifikayla ilişkili özel anahtar alınır.
- Özel anahtar, simetrik (oturum) anahtarının şifresini çözmek için kullanılır.
- Şifreleme algoritması iletiden alınır.
- Özel anahtar ve şifreleme algoritması kullanılarak verilerin şifresi çözülür.
Aşağıdaki yordam, az önce listelenen görevleri gerçekleştirmek için alt düzey ileti işlevlerini kullanır.
Zarflanmış bir mesajın kodunu çözmek için
- Kodlanmış BLOB'a bir işaretçi alın.
- CryptMsgOpenToDecodeçağrısı yaparak gerekli bağımsız değişkenleri geçirin.
- CryptMsgUpdatebir kez çağırın ve 2. adımda alınan tanıtıcıyı ve kodu çözülecek verilerin işaretçisini geçirin. Bu, ileti türüne bağlı olarak iletide uygun eylemlerin yapılmasına neden olur.
- CryptMsgGetParamçağrısını yaparak, 2. adımda alınan tanıtıcıyı geçirin ve iletinin zarflı veri türünde olduğunu doğrulamak için CMSG_TYPE_PARAM kullanın.
- CryptMsgGetParamçağrısı yaparakiç içeriğinin veri türünü almak için CMSG_INNER_CONTENT_TYPE_PARAM geçirin.
- İç içerik veri türü veriise, içeriğin şifresini çözmeye ve kodunu çözmeye devam edin. Aksi takdirde, içerik veri türüne uygun bir kod çözme yordamı çalıştırın.
- İç içerik türünün "veri" olduğunu varsayarak, CMSG_CTRL_DECRYPT_PARA veri yapısını başlatın ve CMSG_CTRL_DECRYPT ve yapının adresini geçirerek CryptMsgControlçağrısı yapın. İçeriğin şifresi çözülür.
- CryptMsgGetParamçağırarak, kodu çözülen içerik verisi BLOB'una (BYTE dizesi) bir işaretçi almak için CMSG_CONTENT_PARAM kullanın.
- İletiyi kapatmak için CryptMsgCloseçağırın.
Bu prosedürün sonucu, iletinin kodunun çözümlenip şifresinin çözülmesi ve içerik verileri BLOB'una bir işaretçinin alınmasıdır.
İlgili konular