Aracılığıyla paylaş


Verileri İmzalama Yordamı

CryptSignMessagetek bir işlev, İmzalı İleti Oluşturmaiçinde listelenen tüm görevleri gerçekleştirir. Ancak, yapıların ve diğer verilerin başlatılması hala gereklidir. Aşağıdaki çizimde, yapılara veya dizilere işaret eden bu işlev parametreleri ile bunların başlatılan verileri arasındaki ilişki gösterilmektedir. Çizimde yalnızca diğer yapılardan veya işlevlerden türetilen işlev parametreleri ve yapı üyeleri gösterilmektedir. Parametrelerin geri kalanı basit başlatmalardır.

cryptsignmessagebaşlatma haritası

CryptSignMessage kullanarak verileri imzalamak için

  1. İmzalanacak veriler için bir işaretçi edinin.
  2. "Veri işaretçisini, 'imzalanacak veriler' dizisinin sıfır indeksine atayın."
  3. Şifreleme sağlayıcısı için bir tanıtıcı alın.
  4. İmzalayanın sertifikasını içeren bir sertifika deposu açın.
  5. İmzalayanın sertifikasının adresini alın.
  6. Sertifikanın adresini MsgCert dizisinin sıfır dizinine atayın.
  7. İletiye eklenecek diğer sertifikaların adreslerini MsgCert dizisine atayın.
  8. CRYPT_ALGORITHM_IDENTIFIER yapısını başlatın, pszObjId üyesini istenen karma algoritmaya göre ayarlayın ve diğer üyeleri uygun şekilde ayarlayın.
  9. CRYPT_SIGN_MESSAGE_PARA yapısını başlatın. pSigningCert üyesini, imzalayanın sertifikasının adresine; MsgCert dizi üyesini, imzalayanın ve diğerlerinin sertifikalarının adresine; HashAlgorithm üyesini, CRYPT_ALGORITHM_IDENTIFIER yapısının adresine başlatın. Ve diğer üyeleri uygun şekilde başlatın.
  10. pSignPara parametresinin CRYPT_SIGN_MESSAGE_PARA yapısını, rgpbToBeSigned parametresi için "imzalanacak veriler" dizisinin adresini, pbSignedBlob çıkış parametresinin adresini ve diğer parametrelerin değerlerini uygun şekilde geçirerek CryptSignMessage işlevini çağırın.