CryptRetrieveTimeStamp 関数 (wincrypt.h)
CryptRetrieveTimeStamp 関数は、タイム スタンプ要求をエンコードし、URL で指定された場所からタイム スタンプ機関 (TSA) へのタイム スタンプ トークンを取得します。
構文
BOOL CryptRetrieveTimeStamp(
[in] LPCWSTR wszUrl,
DWORD dwRetrievalFlags,
DWORD dwTimeout,
[in] LPCSTR pszHashId,
[in, optional] const CRYPT_TIMESTAMP_PARA *pPara,
[in] const BYTE *pbData,
DWORD cbData,
[out] PCRYPT_TIMESTAMP_CONTEXT *ppTsContext,
[out, optional] PCCERT_CONTEXT *ppTsSigner,
[out, optional] HCERTSTORE *phStore
);
パラメーター
[in] wszUrl
要求を送信する TSA の URL を含む null で終わるワイド文字列へのポインター。
dwRetrievalFlags
タイム スタンプの取得方法を指定するフラグのセット。
値 | 説明 |
---|---|
|
pbData パラメーターが指すバイト配列のハッシュ計算を禁止します。 |
|
取得したタイム スタンプに署名検証を適用します。
メモTIMESTAMP_VERIFY_CONTEXT_SIGNATURE フラグは、pPara パラメーターが指すCRYPT_TIMESTAMP_PARAの fRequestCerts メンバーが TRUE に設定されている場合にのみ有効です。
|
|
自動認証処理を禁止するには、このフラグを設定します。 |
dwTimeout
取得を待機する最大ミリ秒数を指定する DWORD 値。 このパラメーターが 0 に設定されている場合、この関数はタイムアウトしません。
[in] pszHashId
ハッシュ アルゴリズム オブジェクト識別子 (OID) を含む null で終わる文字列へのポインター。
[in, optional] pPara
要求の追加パラメーターを含む CRYPT_TIMESTAMP_PARA 構造体へのポインター。
[in] pbData
タイムスタンプが設定されるバイト配列へのポインター。
cbData
pbData パラメーターが指す配列のサイズ (バイト単位)。
[out] ppTsContext
PCRYPT_TIMESTAMP_CONTEXT構造体へのポインター。 コンテキストの使用が完了したら、 CryptMemFree 関数を呼び出してコンテキストを解放する必要があります。
[out, optional] ppTsSigner
署名者の証明書を受け取る PCERT_CONTEXT へのポインター。 この構造体の使用が完了したら、このポインターを CertFreeCertificateContext 関数に渡して解放する必要があります。
TSA 署名者の証明書が必要ない場合は、このパラメーターを NULL に 設定します。
[out, optional] phStore
タイムスタンプ応答からの証明書で初期化された証明書ストアのハンドル。 このストアは、タイム スタンプ応答の署名者証明書を検証するために使用できます。
TSA サポート証明書が必要ない場合は、このパラメーターを NULL にすることができます 。 このハンドルの使用が完了したら、 CertCloseStore 関数に渡して解放します。
戻り値
関数がタイム スタンプ コンテキストを取得、デコード、検証できない場合は、 FALSE を返します。 拡張エラー情報については、 GetLastError 関数を呼び出します。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
[DLL] | Crypt32.dll |