Aracılığıyla paylaş


İmzalı Verilerin Kodunu Çözme

Aşağıdaki genel işlem, imzalı veri türünün kodunu çözer.

İmzalı iletinin kodunu çözmek için

  1. Kodlanmış BLOB'a bir işaretçi alın.
  2. CryptMsgOpenToDecodeçağrısını yaparak gerekli bağımsız değişkenleri iletin.
  3. 2. adımda alınan tanıtıcıyı ve kodu çözülecek verilerin işaretçisini geçerek, CryptMsgUpdate bir kez çağırın. Bu, ileti türüne bağlı olarak iletide uygun eylemlerin yapılmasına neden olur.
  4. CryptMsgGetParamçağrısı yapın, 2. adımda alınan tanıtıcıyı ve kodu çözülen verilere erişmek için uygun parametre türlerini geçirin. Örneğin, kodu çözülen içeriğe yönelik bir işaretçi elde etmek için CMSG_CONTENT_PARAM geçirin.

Aşağıdaki genel işlem, kodu çözülen, imzalanmış bir iletinin imzasını doğrular.

Kodu çözülen, imzalanmış bir iletinin imzasını doğrulamak için

  1. Mesaj tutamacını ve CMSG_SIGNER_CERT_INFO_PARAM'ı CryptMsgGetParamişlevine geçirerek imzalayanın iletideki CERT_INFO bilgisini alın.
  2. Mesajdaki sertifikalarla başlatılan geçici bir depoyu açmak için CertOpenStore'ü çağırın.
  3. İmzalayanın CERT_INFO iletiye dahil edilen sertifikalardan almak için CertGetSubjectCertificateFromStoreçağırın.
  4. CryptMsgControlçağrısı yaparak, imzaları doğrulamak için CMSG_CTRL_VERIFY_SIGNATURE'i geçirin.
  5. İletiyi kapatmak için CryptMsgCloseçağırın.

Bu prosedürlerin sonucu, imzanın doğrulanması ve ardından, imzalı mesajın çözülmesi prosedürünün 4. adımında elde edilen çözülen mesaj içeriğine bir işaretçi alınmasıdır.

C kodlama ayrıntıları için bkz. Örnek C Programı: İmzalama, Kodlama, Kod Çözme ve İletiDoğrulama.