解碼帶正負號的資料

下列一般程式會將 帶正負號的資料類型 解碼。

解碼已簽署的訊息

  1. 取得編碼 BLOB 的指標。
  2. 呼叫 CryptMsgOpenToDecode,傳遞必要的引數。
  3. 呼叫 CryptMsgUpdate 一次,傳入步驟 2 中擷取的控制碼,以及要解碼之資料的指標。 這會根據訊息類型,對訊息採取適當的動作。
  4. 呼叫 CryptMsgGetParam,傳入步驟 2 中擷取的控制碼和適當的參數類型,以存取解碼的資料。 例如,傳入 CMSG_CONTENT_PARAM,以取得解碼內容的指標。

下列一般程式會驗證已解碼、已簽署訊息的簽章。

若要驗證已解碼、已簽署訊息的簽章

  1. 呼叫 CryptMsgGetParam,傳入訊息控制碼,並CMSG_SIGNER_CERT_INFO_PARAM從訊息取得簽署者的 CERT_INFO
  2. 呼叫 CertOpenStore 以開啟以訊息憑證初始化的暫存存放區。
  3. 呼叫 CertGetSubjectCertificateFromStore ,從訊息中包含的憑證取得簽署者的 CERT_INFO
  4. 呼叫 CryptMsgControl,傳入CMSG_CTRL_VERIFY_SIGNATURE以確認簽章。
  5. 呼叫 CryptMsgClose 以關閉訊息。

這些程式的結果是已驗證簽章,並擷取已解碼訊息內容的指標,此內容是在解碼簽署訊息的程式步驟 4 中取得。

如需 C 程式碼詳細資料,請參閱 範例 C 程式:簽署、編碼、解碼和驗證訊息