1
CryptSignMessage可以通過在PCRYPT_SIGN_MESSAGE_PARA參數中傳遞適當的編碼類型來生成PKCS#7簽名。但我似乎無法找到與CryptSignHash函數做同樣的事情的方法。使用CryptSignHash獲取PKCS#7簽名
是否有方法使用CryptSignHash API創建PKCS#7簽名,或者是否有任何其他函數可以調用將CryptSignHash的輸出轉換爲PKCS#7?
CryptSignMessage可以通過在PCRYPT_SIGN_MESSAGE_PARA參數中傳遞適當的編碼類型來生成PKCS#7簽名。但我似乎無法找到與CryptSignHash函數做同樣的事情的方法。使用CryptSignHash獲取PKCS#7簽名
是否有方法使用CryptSignHash API創建PKCS#7簽名,或者是否有任何其他函數可以調用將CryptSignHash的輸出轉換爲PKCS#7?
不,您不能將CryptSignHash
的輸出轉換爲CryptSignMessage
的輸出。
CryptSignMessage
創建用於創建數字簽名的CMS 容器格式。這不僅僅是簽名的加密定義中的數字簽名。消息首先被散列,然後散列+可能的其他信息被散列並簽名。所以產生的簽名不是對數據的直接簽名。
使用CryptSignHash
您直接簽署給定的散列。並且該散列直接在數據上執行。由於散列是一種方式,因此無法重建數據,因此無法執行CryptSignMessage
所要求的方案。
簡而言之,雖然這些方法的名稱看起來很相似,但這兩個函數在不同級別執行加密。一個是密碼學原語,另一個是應用級協議。
PS這是一個相當不錯的個人資料,有人仍然發佈這樣一個匿名的名字,希望我能有一些幫助 –