共用方式為


ICLRStrongName::StrongNameGetPublicKey 方法

更新:2011 年 4 月

從私密/公開金鑰組取得公開金鑰。 您可使用密碼編譯服務提供者 (CSP) 內的金鑰容器名稱或原始的位元組集合等方式來提供金鑰組。

HRESULT StrongNameGetPublicKey ( 
    [in]  LPCWSTR   szKeyContainer,
    [in]  BYTE      *pbKeyBlob,
    [in]  ULONG     cbKeyBlob,
    [out] BYTE      **ppbPublicKeyBlob,
    [out] ULONG     *pcbPublicKeyBlob
);

參數

  • szKeyContainer
    [in] 包含公開/私密金鑰組的金鑰容器名稱。 如果 pbKeyBlob 為 null,則 szKeyContainer 必須在 CSP 內指定有效的容器。 在這種情況下,ICLRStrongName::StrongNameGetPublicKey方法會從儲存在容器中的金鑰組擷取公開金鑰。

    如果 pbKeyBlob 不是 null,則會假設金鑰組是包含在金鑰二進位大型物件 (BLOB) 中。

    金鑰必須是 1024 位元的 Rivest-Shamir-Adleman (RSA) 簽章密鑰。 現在尚未支援其他類型的金鑰。

  • pbKeyBlob
    [in] 公開/私密金鑰組的指標。 這個金鑰組採用 Win32 CryptExportKey 所建立的格式。 如果 pbKeyBlob 為 null,則會假設 szKeyContainer 指定的金鑰容器包含這個金鑰組。

  • cbKeyBlob
    [in] pbKeyBlob 的大小 (以位元組為單位)。

  • ppbPublicKeyBlob
    [out] 傳回的公開金鑰 BLOB。 ppbPublicKeyBlob 參數是由 Common Language Runtime 所配置,且會傳回給呼叫端。 呼叫者必須使用 ICLRStrongName::StrongNameFreeBuffer方法釋出記憶體。

  • pcbPublicKeyBlob
    [out] 所傳回公開金鑰 BLOB 的大小。

傳回值

如果方法成功完成則為 S_OK,否則為表示失敗的 HRESULT 值 (如需清單,請參閱通用 HRESULT 值 (英文))。

備註

公開金鑰包含在 PublicKeyBlob 結構中。

需求

**平台:**請參閱 .NET Framework 系統需求

標頭:MetaHost.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4

請參閱

參考

PublicKeyBlob 結構

ICLRStrongName 介面

其他資源

ICLRStrongName::StrongNameTokenFromPublicKey 方法

變更記錄

日期

記錄

原因

2011 年 4 月

已更正傳回值。

內容 Bug 修正。

2010 年 7 月

加入主題。

資訊加強。