CryptCreateKeyIdentifierFromCSP 関数 (wincrypt.h)
この関数は、CSP の PUBLICKEYSTRUC を X.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 構造体へのポインター。 既定のケースでは、pPubKeyStruc が指す構造体の aiKeyAlg メンバーを使用して、公開キー OID を検索します。 pszPubKeyOID の値が NULL でない場合は、既定値がオーバーライドされます。
[in] cbPubKeyStruc
PUBLICKEYSTRUC のサイズ (バイト単位)。
[in] dwFlags
将来使用するために予約されており、0 である必要があります。
[in] pvReserved
将来使用するために予約されており、 NULL である必要があります。
[out] pbHash
公開キーとキー識別子の ハッシュ を受け取るバッファーへのポインター。
メモリ割り当てのためにこの情報のサイズを取得するには、このパラメーターを NULL に設定します。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out] pcbHash
pbHash パラメーターが指すバッファーのサイズをバイト単位で指定する DWORD へのポインター。 関数が戻るときに、 DWORD にはバッファーに格納されているバイト数が含まれます。 SHA1 ハッシュを使用すると、必要なバッファーの長さは 20 です。
戻り値
関数が成功した場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示