ICspAlgorithm::GetAlgorithmOid メソッド (certenroll.h)
GetAlgorithmOid メソッドは、アルゴリズム オブジェクト識別子 (OID) を取得します。 このメソッドは Web 対応です。
構文
HRESULT GetAlgorithmOid(
[in] LONG Length,
[in] AlgorithmFlags AlgFlags,
[out] IObjectId **ppValue
);
パラメーター
[in] Length
対称暗号化アルゴリズムの必要なキー サイズを識別する LONG 変数。 Cryptography API: Next Generation (CNG) キー ストレージ プロバイダー (KSP) から特定の AES アルゴリズムを取得するには、このパラメーターを使用します。 KSP は AES という名前のアルゴリズムを 1 つだけ一覧表示できますが、次の一覧のすべての AES バリアントをサポートします。
- szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
- szOID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
- szOID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
- szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
Length パラメーターに 0 を指定し、AlgFlags パラメーターに AlgorithmFlagsNone (0x00000000) を指定すると、既定のアルゴリズムに関連付けられている OID が取得されます。 Microsoft Software KSP と Microsoft Smart Card KSP の場合、既定の AES アルゴリズムは szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2) です。
[in] AlgFlags
キー ラッピング アルゴリズムを検索するかどうかを指定する AlgorithmFlags 列挙値。 次のいずれかの値を指定できます。
- AlgorithmFlagsNone
- AlgorithmFlagsWrap
AlgorithmFlagsWrap を指定すると、このメソッドは表示名が "wrap" で終わるアルゴリズムを検索します。 これには、次の OID が含まれます。
- szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
- szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
- szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
- XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.6)
- XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)
Length パラメーターに 0 を指定し、AlgFlags パラメーターに AlgorithmFlagsNone (0x00000000) を指定すると、既定のアルゴリズムに関連付けられている OID が取得されます。 Microsoft Software KSP と Microsoft Smart Card KSP の場合、既定の AES アルゴリズムは szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2) です。
[out] ppValue
アルゴリズム OID を表す IObjectId インターフェイスへのポインターを受け取る変数のアドレス。
戻り値
関数が成功した場合、関数は S_OKを返します。
関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。
リターン コード/値 | Description |
---|---|
|
アルゴリズム OID が見つかりませんでした。 |
|
CSP 情報が初期化されていません。 詳細については、 ICspInformation インターフェイスを参照してください。 |
注釈
GetAlgorithmOid を呼び出す前に、ICspInformation インターフェイスで InitializeFromName メソッドまたは InitializeFromType メソッドを呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certenroll.h |
[DLL] | CertEnroll.dll |