PrivateKey.Open 方法

[ Open 方法可用於需求一節中指定的作業系統。 請改用System.Security.Cryptography.X509Certificates命名空間中的X509Certificate2.PrivateKey 屬性。]

Open方法會存取現有的金鑰容器。 此方法會將金鑰容器與對應至私密金鑰憑證產生關聯,方法是使用指定的資訊新增 CERT_KEY_PROV_INFO_PROP_ID 屬性。

語法

PrivateKey.Open( _
  ByVal ContainerName, _
  [ ByVal ProviderName ], _
  [ ByVal ProviderType ], _
  [ ByVal KeySpec ], _
  [ ByVal StoreLocation ], _
  [ ByVal bCheckExistence ] _
)

參數

ContainerName [in]

包含金鑰容器名稱的字串。

ProviderName [in, optional]

包含提供者名稱的字串。 預設值為 CAPICOM_PROV_MS_ENHANCED_PROV。 此參數可以是下列其中一個值。

意義
CAPICOM_PROV_MS_DEF_PROV
Microsoft 基底密碼編譯提供者。
CAPICOM_PROV_MS_ENHANCED_PROV
Microsoft 增強的密碼編譯提供者。
CAPICOM_PROV_MS_STRONG_PROV
Microsoft 強式密碼編譯提供者。
CAPICOM_PROV_MS_DEF_RSA_SIG_PROV
Microsoft RSA 簽章密碼編譯提供者。
CAPICOM_PROV_MS_DEF_RSA_SCHANNEL_PROV
Microsoft RSA 安全通道密碼編譯提供者。
CAPICOM_PROV_MS_DEF_DSS_PROV
Microsoft 基底 DSS 密碼編譯提供者。
CAPICOM_PROV_MS_DEF_DSS_DH_PROV
Microsoft 基底 DSS 和Diffie-Hellman密碼編譯提供者。
CAPICOM_PROV_MS_ENH_DSS_DH_PROV
Microsoft 增強的 DSS 和Diffie-Hellman密碼編譯提供者。
CAPICOM_PROV_MS_DEF_DH_SCHANNEL_PROV
Microsoft DH 安全通道密碼編譯提供者。
CAPICOM_PROV_MS_SCARD_PROV
Microsoft 基底智慧卡密碼編譯提供者。
CAPICOM_PROV_MS_ENH_RSA_AES_PROV
Microsoft 增強的 RSA 和 AES 密碼編譯提供者。

 

ProviderType [in, optional]

指定提供者類型的 CAPICOM_PROV_TYPE 列舉值。 預設值為 CAPICOM_PROV_RSA_FULL。 此參數可以是下列其中一個值。

意義
CAPICOM_PROV_RSA_FULL
完整的 RSA密碼編譯服務提供者 (CSP) 。 此提供者類型同時支援 數位簽章 和資料 加密
CAPICOM_PROV_RSA_SIG
RSA CSP 的子集,僅支援 雜湊數位簽章所需的函式和演算法。
CAPICOM_PROV_DSS
數位簽章標準 (DSS) CSP。 此提供者類型僅支援雜湊和數位簽章。 DSS 使用 DSA (數位簽章 演算法) 。
CAPICOM_PROV_FORTEZZA
CSP,其中包含 國家標準與技術 ( NIST) 所擁有的密碼編譯通訊協定和演算法。
CAPICOM_PROV_MS_EXCHANGE
支援 Microsoft Exchange 郵件應用程式的 CSP,以及其他與 Microsoft Mail 相容的應用程式。
CAPICOM_PROV_SSL
支援 安全通訊端層 (SSL) 通訊協定的 CSP。
CAPICOM_PROV_RSA_SCHANNEL
支援 RSA 和 Schannel 通訊協定的 CSP。
CAPICOM_PROV_DSS_DH
支援 DSS 和 Diffie-Hellman 通訊協定的 CSP。
CAPICOM_PROV_EC_ECDSA_SIG
支援橢圓曲線數位簽章演算法的 CSP (ECDSA) 數位簽章所需的函式和演算法。
CAPICOM_PROV_EC_ECNRA_SIG
支援橢圓曲線的 CSP Nyberg-Rueppel類比 (ECNRA) 數位簽章所需的函式和演算法。
CAPICOM_PROV_EC_ECDSA_FULL
支援完整 ECDSA 的 CSP。
CAPICOM_PROV_EC_ECNRA_FULL
支援完整 ECNRA 的 CSP。
CAPICOM_PROV_DH_SCHANNEL
支援 Diffie-HellmanSchannel 通訊協定的 CSP。
CAPICOM_PROV_SPYRUS_LYNKS
支援 SPYRUS LYNKS 卡片裝置的 CSP。
CAPICOM_PROV_RNG
處理亂數產生的 CSP。
CAPICOM_PROV_INTEL_SEC
提供 Intel 安全性的 CSP。
CAPICOM_PROV_REPLACE_OWF
支援取代從密碼產生單向格式之方式的 CSP。
CAPICOM_PROV_RSA_AES
使用進階加密標準 (AES) 演算法支援數位簽章和資料加密的 CSP。

 

KeySpec [in, 選擇性]

指定私密金鑰類型的 CAPICOM_KEY_SPEC 列舉值。 預設值為 CAPICOM_KEY_SPEC_SIGNATURE。 此參數可以是下列其中一個值。

意義
CAPICOM_KEY_SPEC_KEYEXCHANGE
金鑰可用於加密和簽署。
CAPICOM_KEY_SPEC_SIGNATURE
金鑰只能用於簽署。

 

StoreLocation [in, optional]

指定索引鍵所在存放區位置 之CAPICOM_STORE_LOCATION 列舉的值。 預設值為 CAPICOM_CURRENT_USER_STORE。 此參數可以是下列其中一個值。

意義
CAPICOM_MEMORY_STORE
存放區是記憶體存放區。 儲存區內容中的任何變更都不會保存。
CAPICOM_LOCAL_MACHINE_STORE
存放區是本機電腦存放區。 只有當使用者具有讀取/寫入權限時,本機電腦存放區才能讀取/寫入。 如果使用者具有讀取/寫入權限,而且如果存放區已開啟讀取/寫入,則會保存存放區內容中的變更。
CAPICOM_CURRENT_USER_STORE
市集是目前的使用者存放區。 目前的使用者存放區可能是讀取/寫入存放區。 如果是,則會保存存放區內容中的變更。
CAPICOM_ACTIVE_DIRECTORY_USER_STORE
存放區是 Active Directory 存放區。 Active Directory 存放區只能以唯讀模式開啟。 憑證無法新增至 Active Directory 存放區或從 Active Directory 存放區中移除。
CAPICOM_SMART_CARD_USER_STORE
市集是目前智慧卡的群組。 CAPICOM 2.0 中引進。

 

bCheckExistence [in, optional]

布林值,指出 CAPICOM 是否會嘗試存取金鑰。 如果 為 True,CAPICOM 會嘗試存取金鑰。 如果金鑰受到使用者保護,或在智慧卡或其他裝置上,可能會產生對話方塊。 預設值為 [False]

傳回值

這個方法不會傳回值。

備註

此方法會從 Web 應用程式編寫腳本時傳回CAPICOM_E_NOT_ALLOWED。

規格需求

需求
可轉散發套件
Windows Server 2003 和 Windows XP 上的 CAPICOM 2.0 或更新版本
DLL
Capicom.dll

另請參閱

PrivateKey

Certificate.HasPrivateKey