CryptCreateKeyIdentifierFromCSP 関数 (wincrypt.h)

重要 この API は非推奨です。 新規および既存のソフトウェアでは、Cryptography Next Generation API の使用を開始する必要があります。 Microsoft は、今後のリリースでこの API を削除する可能性があります。
 
CryptCreateKeyIdentifierFromCSP 関数は、暗号化サービス プロバイダー (CSP) から公開キーCRYPT_INTEGER_BLOBキー識別子を作成します。

この関数は、CSP の PUBLICKEYSTRUCX.509CERT_PUBLIC_KEY_INFO 構造体に変換し、エンコードします。 次に、エンコードされた構造体は、SHA1 アルゴリズムを使用してハッシュ され、キー識別子が取得されます。

構文

BOOL CryptCreateKeyIdentifierFromCSP(
  [in]      DWORD                dwCertEncodingType,
  [in]      LPCSTR               pszPubKeyOID,
  [in]      const PUBLICKEYSTRUC *pPubKeyStruc,
  [in]      DWORD                cbPubKeyStruc,
  [in]      DWORD                dwFlags,
  [in]      void                 *pvReserved,
  [out]     BYTE                 *pbHash,
  [in, out] DWORD                *pcbHash
);

パラメーター

[in] dwCertEncodingType

使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージ エンコードの種類 の両方をビットごとのOR 操作と組み合わせて指定することは、常に許容されます。

X509_ASN_ENCODING |PKCS_7_ASN_ENCODING

現在定義されているエンコードの種類は次のとおりです。

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPubKeyOID

オブジェクト識別子 (OID) 公開キーへのポインター。 NULL されていない値は、pPubKeyStrucによって指される構造体の aiKeyAlg メンバーから取得された既定の OID オーバーライドします。 既定の OID を使用するには、pszPubKeyOID を NULL設定します。

[in] pPubKeyStruc

PUBLICKEYSTRUC 構造体へのポインター。 既定のケースでは、aiKeyAlg pPubKeyStruc が指す構造体 メンバーを使用して、公開キー OID を検索します。 pszPubKeyOID 値が NULLされていない場合は、既定値がオーバーライドされます。

[in] cbPubKeyStruc

PUBLICKEYSTRUCのサイズ (バイト単位)。

[in] dwFlags

将来使用するために予約されており、ゼロにする必要があります。

[in] pvReserved

将来使用するために予約されており、NULLする必要があります。

[out] pbHash

公開キーとキー識別子の ハッシュ を受け取るバッファーへのポインター。

メモリ割り当てのためにこの情報のサイズを取得するには、このパラメーターを null設定します。 詳細については、「不明な長さのデータの取得」を参照してください。

[in, out] pcbHash

pbHash パラメーターが指すバッファーのサイズをバイト単位で指定する DWORD へのポインター。 関数から制御が戻ると、DWORD にはバッファーに格納されているバイト数が格納されます。 SHA1 ハッシュを使用すると、必要なバッファーの長さは 20 になります。

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、GetLastError呼び出します。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wincrypt.h
ライブラリ Crypt32.lib
DLL Crypt32.dll

関連項目

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

キー識別子関数の