CryptGetMessageCertificates 関数 (wincrypt.h)
CryptGetMessageCertificates 関数は、メッセージの証明書と CRL を含む開いている証明書ストアのハンドルを返します。 この関数は、プロバイダーの種類CERT_STORE_PROV_PKCS7を lpszStoreProvider パラメーターとして使用して CertOpenStore を呼び出します。
構文
HCERTSTORE CryptGetMessageCertificates(
[in] DWORD dwMsgAndCertEncodingType,
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwFlags,
[in] const BYTE *pbSignedBlob,
[in] DWORD cbSignedBlob
);
パラメーター
[in] dwMsgAndCertEncodingType
使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] hCryptProv
このパラメーターは使用されず、 NULL に設定する必要があります。
Windows Server 2003 および Windows XP: CertOpenStore に渡される CSP のハンドル。 詳細については、「 CertOpenStore」を参照してください。 hCryptProv で特定の暗号化プロバイダーを渡す強い理由がない限り、0 を渡して既定の RSA または DSS プロバイダーを取得します。
このパラメーターのデータ型は HCRYPTPROV です。
[in] dwFlags
CertOpenStore に渡されるフラグ。 詳細については、「 CertOpenStore」を参照してください。
[in] pbSignedBlob
署名付きメッセージを含むバッファー CRYPT_INTEGER_BLOB 構造体へのポインター。
[in] cbSignedBlob
署名されたメッセージのサイズ (バイト単位)。
戻り値
メッセージの証明書と CRL を含む証明書 ストア を返します。 エラーの場合、 NULL が返されます。
次に、 GetLastError 関数によって最も一般的に返されるエラー コードを示します。
リターン コード | 説明 |
---|---|
|
メッセージと証明書のエンコードの種類が無効です。 現在、PKCS_7_ASN_ENCODINGとX509_ASN_ENCODINGのみがサポートされています。 |
関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。
注釈
GetLastError を使用して、エラーの理由を特定します。
例
この関数を使用する例については、「 サンプル C プログラム: 証明書ストアのプロパティの設定と取得」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |