密碼編譯服務提供者函式
下列各節會識別Xenroll.dll匯出的函式,可用來管理密碼編譯提供者。 每個主題也會討論如何使用 CertEnroll.dll 來取代 函式,或指出兩個程式庫之間沒有任何對應存在:
- EnumAlgs
- enumContainersWStr
- enumProvidersWStr
- GetAlgNameWStr
- getProviderTypeWStr
- HashAlgID
- HashAlgorithmWStr
- ProviderFlags
- ProviderNameWStr
- ProviderType
- 相關主題
EnumAlgs
Xenroll.dll中的 EnumAlgs 函式會擷取密碼編譯演算法集合。
使用CertEnroll.dll時,您可以執行下列動作來擷取 密碼編譯服務提供者 所支援演算法的相關資訊, (CSP) :
- 在現有的IX509Enrollment物件上呼叫Request屬性。
- 在步驟 1 傳回的要求上呼叫 GetInnerRequest 方法,以擷取最內層的要求。
- 在步驟 2 傳回的IX509CertificateRequest物件上呼叫QueryInterface,以轉換成IX509CertificateRequestPkcs10物件。
- 在 PKCS #10 要求上呼叫 PrivateKey 屬性。
- 在從步驟 4 擷取的IX509PrivateKey物件上呼叫CspInformations屬性。
- 在步驟 5 中所擷取的ICspInformations集合中,呼叫特定ICspInformation物件上的 CspAlgorithms屬性。
enumContainersWStr
Xenroll.dll中的 enumContainersWStr 函式會依索引從集合中擷取索引鍵容器。
CertEnroll.dll程式庫不會直接實作這項功能。
enumProvidersWStr
Xenroll.dll中的 enumProvidersWStr 函式會依索引從集合中擷取 CSP。
使用CertEnroll.dll時,您可以執行下列動作來擷取密碼編譯容器的集合:
- 在現有的IX509Enrollment物件上呼叫Request屬性。
- 在步驟 1 傳回的要求上呼叫 GetInnerRequest 方法,以擷取最內層的要求。
- 在步驟 2 傳回的IX509CertificateRequest物件上呼叫QueryInterface,以轉換成IX509CertificateRequestPkcs10物件。
- 在 PKCS #10 要求上呼叫 PrivateKey 屬性。
- 在從步驟 4 擷取的IX509PrivateKey物件上呼叫CspInformations屬性。
GetAlgNameWStr
Xenroll.dll中的 GetAlgNameWStr 函式會擷取 密碼編譯演算法的名稱。
使用CertEnroll.dll時,您可以執行下列動作來擷取演算法名稱:
- 在現有的IX509Enrollment物件上呼叫Request屬性。
- 在步驟 1 傳回的要求上呼叫 GetInnerRequest 方法,以擷取最內層的要求。
- 在步驟 2 傳回的IX509CertificateRequest物件上呼叫QueryInterface,以轉換成IX509CertificateRequestPkcs10物件。
- 在 PKCS #10 要求上呼叫 PrivateKey 屬性。
- 在IX509PrivateKey物件上呼叫Algorithm屬性,以擷取演算法物件識別碼。
- 在IObjectId介面上呼叫FriendlyName屬性,以擷取演算法顯示名稱。
getProviderTypeWStr
Xenroll.dll中的 getProviderTypeWStr 函式會擷取密碼編譯提供者類型。
使用CertEnroll.dll時,您可以執行下列動作來擷取提供者類型:
- 在現有的IX509Enrollment物件上呼叫Request屬性。
- 在步驟 1 傳回的要求上呼叫 GetInnerRequest 方法,以擷取最內層的要求。
- 在步驟 2 傳回的IX509CertificateRequest物件上呼叫QueryInterface,以轉換成IX509CertificateRequestPkcs10物件。
- 在 PKCS #10 要求上呼叫 PrivateKey 屬性。
- 在從步驟 4 擷取的IX509PrivateKey物件上呼叫ProviderType屬性。
HashAlgID
Xenroll.dll中的 HashAlgID 函式會擷取整數值,其中包含用來簽署要求的演算法識別碼。
使用CertEnroll.dll時,您可以執行下列動作來擷取雜湊演算法:
- 在 PKCS #10 或 CMC 要求上呼叫SignatureInformation屬性,或在PKCS #7要求上呼叫SignerCertificate屬性,以擷取IX509SignatureInformation介面。
- 在簽章資訊物件上呼叫 HashAlgorithm 屬性,以擷取雜湊演算法物件識別碼。
HashAlgorithmWStr
Xenroll.dll中的 HashAlgorithmWStr 函式會指定或擷取字串值,識別用來簽署要求的雜湊演算法。
使用CertEnroll.dll時,您可以執行下列動作來擷取雜湊演算法:
- 在 PKCS #10 或 CMC 要求上呼叫SignatureInformation屬性,或在 PKCS #7 要求上呼叫SignerCertificate屬性,以擷取IX509SignatureInformation介面。
- 在簽章資訊物件上呼叫 HashAlgorithm 屬性,以擷取雜湊演算法物件識別碼。
- 在步驟 2 傳回的IObjectId介面上呼叫FriendlyName屬性,以擷取演算法顯示名稱。
ProviderFlags
Xenroll.dll中的 ProviderFlags 函 式會指定或擷取取得 CSP 控制碼時所使用的旗標。
CertEnroll.dll程式庫不會完美地對應此函式,但您可以從註冊物件和 私密金鑰取得豐富的屬性資訊。 如需詳細資訊,請檢查 IX509Enrollment 和 IX509PrivateKey 介面所公開的屬性。
ProviderNameWStr
Xenroll.dll中的 ProviderNameWStr 函式會指定或擷取 CSP 的名稱。
使用CertEnroll.dll時,您可以執行下列動作來擷取提供者名稱:
- 在現有的IX509Enrollment物件上呼叫Request屬性。
- 在步驟 1 傳回的要求上呼叫 GetInnerRequest 方法,以擷取最內層的要求。
- 在步驟 2 傳回的IX509CertificateRequest物件上呼叫QueryInterface,以轉換成IX509CertificateRequestPkcs10物件。
- 在 PKCS #10 要求上呼叫 PrivateKey 屬性。
- 在從步驟 4 擷取的IX509PrivateKey物件上呼叫ProviderName屬性。
ProviderType
Xenroll.dll中的 ProviderType 函式會指定或擷取識別 CSP 類型的整數值。
使用CertEnroll.dll時,您可以執行下列動作來擷取提供者類型:
- 在現有的IX509Enrollment物件上呼叫Request屬性。
- 在步驟 1 傳回的要求上呼叫 GetInnerRequest 方法,以擷取最內層的要求。
- 在步驟 2 傳回的IX509CertificateRequest物件上呼叫QueryInterface,以轉換成IX509CertificateRequestPkcs10物件。
- 在 PKCS #10 要求上呼叫 PrivateKey 屬性。
- 在從步驟 4 擷取的IX509PrivateKey物件上呼叫ProviderType屬性。
相關主題