ICLRStrongName::StrongNameSignatureGenerationEx 方法
更新:2011 年 4 月
根據指定的旗標,為指定的組件產生強式名稱簽章。
HRESULT StrongNameSignatureGenerationEx (
[in] LPCWSTR wszFilePath,
[in] LPCWSTR wszKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbSignatureBlob,
[out] ULONG *pcbSignatureBlob,
[in] DWORD dwFlags
);
參數
wszFilePath
[in] 包含組件資訊清單的檔案路徑,此資訊清單會產生強式名稱簽章。wszKeyContainer
[in] 包含公開/私密金鑰組的金鑰容器名稱。如果 pbKeyBlob 為 null,則 wszKeyContainer 必須在密碼編譯服務提供者 (CSP) 中指定有效的容器。 在這種情況下,會使用存放在容器中的金鑰組來簽署檔案。
如果 pbKeyBlob 不是 null,則會假設金鑰組是包含在金鑰二進位大型物件 (BLOB) 中。
pbKeyBlob
[in] 公開/私密金鑰組的指標。 這個金鑰組採用 Win32 CryptExportKey 所建立的格式。 如果 pbKeyBlob 為 null,則會假設 wszKeyContainer 指定的金鑰容器包含這個金鑰組。cbKeyBlob
[in] pbKeyBlob 的大小 (以位元組為單位)。ppbSignatureBlob
[out] 位置的指標,Common Language Runtime 會將簽章傳回至該位置。 如果 ppbSignatureBlob 為 null,則執行階段會將簽章存放在 wszFilePath 指定的檔案中。如果 ppbSignatureBlob 不是 null,則 Common Language Runtime 會配置要在其中傳回簽章的空間。 呼叫者必須使用 ICLRStrongName::StrongNameFreeBuffer方法釋出此空間。
pcbSignatureBlob
[out] 傳回的簽章大小 (以位元組為單位)。dwFlags
[in] 下列其中一或多個值:SN_SIGN_ALL_FILES (0x00000001) - 重新計算已連結模組的所有雜湊。
SN_TEST_SIGN (0x00000002) - 測試簽署組件。
傳回值
如果方法成功完成則為 S_OK,否則為表示失敗的 HRESULT 值 (如需清單,請參閱通用 HRESULT 值 (英文))。
備註
對 wszFilePath 指定 null,在未建立簽章的情況下計算簽章的大小。
簽章可以直接存放在檔案中,或是傳回給呼叫端。
如果指定 SN_SIGN_ALL_FILES 但是未包含公開金鑰 (pbKeyBlob 和 wszFilePath 都是 null),將會重新計算已連結之模組的雜湊,但是不會重新簽署組件。
如果指定 SN_TEST_SIGN,將不會修改 Common Language Runtime 標頭以指出組件是用強式名稱簽署。
需求
**平台:**請參閱 .NET Framework 系統需求。
標頭:MetaHost.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4
請參閱
參考
其他資源
ICLRStrongName::StrongNameSignatureGeneration 方法
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2011 年 4 月 |
已更正傳回值。 |
內容 Bug 修正。 |
2010 年 7 月 |
加入主題。 |
資訊加強。 |