Megosztás a következőn keresztül:


Az adatok aláírásának eljárása

A CryptSignMessageegyetlen függvény végzi el az összes feladatot, amely a Aláírt Üzenet Létrehozásarészben szerepel. A struktúrák és egyéb adatok inicializálása azonban továbbra is szükséges. Az alábbi ábra a struktúrákra vagy tömbökre mutató függvényparaméterek és az inicializált adatok közötti kapcsolatot mutatja be. Az ábra csak azokat a függvényparamétereket és struktúratagokat jeleníti meg, amelyek más struktúrákból vagy függvényekből származnak. A többi paraméter egyszerű inicializálás.

inicializálási térkép a cryptsignmessage hívásához

Az adatok aláírása a CryptSignMessage használatával

  1. Szerezzen be egy mutatót az aláírandó adatokhoz.
  2. Állítsa be a mutatót az adatokhoz az "aláírandó adatok" tömb nulla indexére.
  3. Hivatkozás megszerzése a kriptográfiai szolgáltatóhoz.
  4. Nyisson meg egy tanúsítványtárolót, amely tartalmazza az aláíró tanúsítványát.
  5. Kérje le az aláíró tanúsítványának címét.
  6. Rendelje hozzá a tanúsítvány címét a MsgCert tömb nulla indexéhez.
  7. Az üzenethez tartozó, mellékelendő egyéb tanúsítványok címeit rendelje hozzá az MsgCert tömbhöz.
  8. Inicializálja a CRYPT_ALGORITHM_IDENTIFIER struktúrát, inicializálja a pszObjId tagot a kívánt kivonatoló algoritmusba, és szükség szerint a többi tagot.
  9. Inicializálja a CRYPT_SIGN_MESSAGE_PARA struktúrát az alábbi módon: állítsa a pSigningCert tagot az aláíró tanúsítványának címére, az MsgCert tömbtagot az aláíró és más tanúsítványok címére, a HashAlgorithm tagot az CRYPT_ALGORITHM_IDENTIFIER struktúra címére, és szükség szerint a többi tagot is.
  10. Hívja meg a CryptSignMessage függvényt, átadva a pSignPara paraméter CRYPT_SIGN_MESSAGE_PARA szerkezetét, az rgpbToBeSigned paraméter "aláírandó adatok" tömbjének címét, a pbSignedBlob kimeneti paraméter címét, valamint a többi paraméter értékeit.