暗号化サービス プロバイダー関数
次の各セクションでは、暗号化プロバイダーの管理に使用できるXenroll.dllによってエクスポートされる関数を識別します。 各トピックでは、CertEnroll.dllを使用して関数を置き換える方法についても説明します。または、2 つのライブラリ間にマッピングが存在しないことを示します。
- 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 関数は、要求の署名に使用されるアルゴリズムの ID を含む整数値を取得します。
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 プロパティを呼び出します。
関連トピック
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示