ICLRStrongName::StrongNameSignatureGeneration 方法
產生指定組件的強式名稱簽章。
語法
HRESULT StrongNameSignatureGeneration (
[in] LPCWSTR wszFilePath,
[in] LPCWSTR wszKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbSignatureBlob,
[out] ULONG *pcbSignatureBlob
);
參數
wszFilePath
[in] 檔案的路徑,其中包含將產生強式名稱簽章之組件的資訊清單。
wszKeyContainer
[in] 包含公開/私密金鑰組的金鑰容器名稱。
如果 pbKeyBlob
為 null,則 wszKeyContainer
必須在密碼編譯服務提供者 (CSP) 內指定有效的容器。 在此情況下,儲存在容器中的金鑰組會用來簽署檔案。
如果 pbKeyBlob
不是 null,則會假設金鑰組包含在金鑰二進位大型物件中 (BLOB)。
金鑰必須是 1024 位元的 Rivest-Shamir-Adleman (RSA) 簽署金鑰。 目前不支援其他類型的金鑰。
pbKeyBlob
[in] 公開/私密金鑰組的指標。 此金鑰組的格式由 Win32 CryptExportKey
函式建立。 如果 pbKeyBlob
為 null,可假設 wszKeyContainer
指定的金鑰容器包含金鑰組。
cbKeyBlob
[in] pbKeyBlob
的大小,單位是位元組。
ppbSignatureBlob
[out] 通用語言執行平台傳回簽章所在位置的指標。 如果 ppbSignatureBlob
為 null,則執行階段會將簽章儲存在 wszFilePath
所指定的檔案中。
如果 ppbSignatureBlob
不是 null,通用語言執行平台會配置空間來放置傳回的簽章。 呼叫端必須使用 ICLRStrongName::StrongNameFreeBuffer 方法來釋放此空間。
pcbSignatureBlob
[out] 傳回簽章的大小 (以位元組為單位)。
傳回值
如果方法順利完成,則為 S_OK
;否則,為表示失敗的 HRESULT 值 (請參閱清單的一般 HRESULT 值)。
備註
針對 wszFilePath
指定 null 來計算簽章的大小,而不需建立簽章。
簽章可以直接儲存在檔案中,也可以傳回給呼叫端。
規格需求
平台:請參閱系統需求。
標頭:MetaHost.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 4 起可用