IObjectId::GetAlgorithmName メソッド (certenroll.h)

GetAlgorithmName メソッドは、アルゴリズム オブジェクト識別子 (OID) に関連付けられている表示名を取得します。

構文

HRESULT GetAlgorithmName(
  [in]  ObjectIdGroupId        GroupId,
  [in]  ObjectIdPublicKeyFlags KeyFlags,
  [out] BSTR                   *pstrAlgorithmName
);

パラメーター

[in] GroupId

検索する OID グループを指定する ObjectIdGroupId 列挙値。 これには、次のアルゴリズム グループのいずれかを指定できます。

  • XCN_CRYPT_HASH_ALG_OID_GROUP_ID
  • XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID
  • XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID
  • XCN_CRYPT_SIGN_ALG_OID_GROUP_ID
さらに、暗号化アルゴリズムを含まないグループを指定することもできます。
  • XCN_CRYPT_RDN_ATTR_OID_GROUP_ID
  • XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID
  • XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID
  • XCN_CRYPT_POLICY_OID_GROUP_ID
  • XCN_CRYPT_TEMPLATE_OID_GROUP_ID

[in] KeyFlags

署名アルゴリズムと暗号化アルゴリズムのどちらを検索するかを指定する ObjectIdPublicKeyFlags 列挙値。 次のいずれかの値を指定できます。

  • XCN_CRYPT_OID_INFO_PUBKEY_ANY
  • XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG
  • XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG
最後の 2 つの値のいずれかを使用して、メッセージの暗号化と署名の両方に使用できる RSA などのアルゴリズム間であいまいさを解消できます。 GroupId パラメーターにXCN_CRYPT_PUBKEY_ALG_OID_GROUP_IDも指定する必要があります。 GroupId パラメーターをXCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID以外の値に設定する場合は、XCN_CRYPT_OID_INFO_PUBKEY_ANYを指定します。

[out] pstrAlgorithmName

名前を含む BSTR 変数へのポインター。

戻り値

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

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

リターン コード/値 Description
CERTSRV_E_PROPERTY_EMPTY
アルゴリズム名を含む文字列が空です。
OLE_E_BLANK
アルゴリズム名が見つかりませんでした。 GetAlgorithmName を呼び出す前に InitializeFromAlgorithmName を呼び出す必要があります。

注釈

XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID定数を使用して、可変ビット長で識別できるアルゴリズムのキー サイズを考慮した GroupId パラメーター値を作成できます。 たとえば、192 ビット AES アルゴリズムから IObjectId オブジェクトを初期化するには、 strAlgorithmName パラメーターに "AES" を指定し、長さを 16 だけシフトし、シフトされたビット長と XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_IDに対してビットごとの OR の組み合わせを実行します。

GroupId パラメーターをXCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID以外の値に設定する場合は、KeyFlags パラメーターにXCN_CRYPT_OID_INFO_PUBKEY_ANYを指定します。

要件

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

こちらもご覧ください

IObjectId