次の方法で共有


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) です。

メモ 対称暗号化アルゴリズム以外のアルゴリズムの場合、このパラメーターは 0 である必要があります。

 

[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) です。

メモ 対称暗号化アルゴリズム以外のアルゴリズムの場合、このパラメーターは 0 である必要があります。

 

[out] ppValue

アルゴリズム OID を表す IObjectId インターフェイスへのポインターを受け取る変数のアドレス。

戻り値

関数が成功した場合、関数は S_OKを返します。

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 有効な値を次の表に示しますが、これ以外にもあります。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

リターン コード/値 Description
CERTSRV_E_PROPERTY_EMPTY
アルゴリズム OID が見つかりませんでした。
OLE_E_BLANK
CSP 情報が初期化されていません。 詳細については、 ICspInformation インターフェイスを参照してください。

注釈

GetAlgorithmOid を呼び出す前に、ICspInformation インターフェイスで InitializeFromName メソッドまたは InitializeFromType メソッドを呼び出す必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー certenroll.h
[DLL] CertEnroll.dll

こちらもご覧ください

ICspAlgorithm