次の方法で共有


SignerTimeStampEx3 関数

SignerTimeStampEx3 関数は、指定された件名にタイムスタンプを設定し、複数の署名に対するタイム スタンプの設定をサポートします。

注意

この関数には、ヘッダー ファイルまたはインポート ライブラリが関連付けされません。 この関数を呼び出すには、ユーザー定義ヘッダー ファイルを作成し、 LoadLibrary 関数と GetProcAddress 関数を使用して、Mssign32.dll に動的にリンクする必要があります。

 

構文

HRESULT WINAPI SignerTimeStampEx3(
  _In_       DWORD                  dwFlags,
  _In_       DWORD                  dwIndex,
  _In_       SIGNER_SUBJECT_INFO    *pSubjectInfo,
  _In_       PCWSTR                 pwszHttpTimeStamp,
  _In_       PCWSTR                 pszAlgorithmOid,
  _In_opt_   PCRYPT_ATTRIBUTES      psRequest,
  _In_opt_   PVOID                  pSipData,
  _Out_      SIGNER_CONTEXT         **ppSignerContext,
  _In_opt_   PCERT_STRONG_SIGN_PARA pCryptoPolicy,
  _Reserved_ PVOID                  pReserved
);

パラメーター

dwFlags [in]

生成するタイム スタンプの種類を指定するフラグ。 このパラメーターには、次の値のいずれかを指定できます。 値は相互に排他的です。

説明
SIGNER_TIMESTAMP_AUTHENTICODE
Authenticode タイム スタンプを指定します。
メモ: Authenticode は、推奨されるタイム スタンプの種類ではなくなりました。 Authenticode タイム スタンプのサポートは、今後削除される可能性があります。 代わりに RFC 3161 を使用することをお勧めします。
SIGNER_TIMESTAMP_RFC3161
RFC 3161 準拠のタイム スタンプを指定します。

 

dwIndex [in]

タイムスタンプを追加する署名のシーケンス番号を指定します。 この値がゼロ (0) の場合、外側の署名にタイム スタンプが設定されます。

pSubjectInfo [in]

タイムスタンプが設定される対象を表す SIGNER_SUBJECT_INFO 構造体のアドレス。

pwszHttpTimeStamp [in]

タイム スタンプ サーバーの URL を含む null で終わる Unicode 文字列のアドレス。

pszAlgorithmOid [in]

RFC 3161 準拠のタイム スタンプを実行するために使用されるハッシュ アルゴリズム。 Authenticode タイム スタンプの場合、このパラメーターは無視されます。

psRequest [in, optional]

省略可能。 タイム スタンプ要求に追加される属性を含む CRYPT_ATTRIBUTES 構造体のアドレス。

このパラメーターは省略可能であり、含まれていない場合は NULL にすることができます。

pSipData [in, optional]

省略可能。 サブジェクト インターフェイス パッケージ (SIP) 関数に追加データとして渡される 32 ビット値。 このパラメーターの形式と内容は、SIP プロバイダーによって定義されます。

このパラメーターは省略可能であり、含まれていない場合は NULL にすることができます。

ppSignerContext [out]

省略可能。 署名付き BLOB を含む SIGNER_CONTEXT 構造体へのポインターのアドレス。 SIGNER_CONTEXT構造体の使用が完了したら、SignerFreeSignerContext 関数を呼び出して解放します。

pCryptoPolicy [in, optional]

存在する場合は、厳密な署名のチェックに使用されるパラメーターを含むCERT_STRONG_SIGN_PARA構造体へのポインター。 タイム スタンプは、この暗号化ポリシーを渡す必要があります。

pReserved

予約済み。 この値は NULL である必要があります。

戻り値

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

関数が失敗した場合は、エラーを示す HRESULT 値を返します。 この関数によって返される可能性のあるエラー コードには、次のものが含まれますが、これらに限定されません。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。

リターン コード 説明
E_INVALIDARG
このエラーは、次の条件で返される可能性があります。
  • dwFlags パラメーターには、SIGNER_TIMESTAMP_AUTHENTICODEまたはSIGNER_TIMESTAMP_RFC3161を設定する必要があります。
  • pReserved パラメーターは NULL である必要があります。
  • dwFlags パラメーターでSIGNER_TIMESTAMP_AUTHENTICODE フラグを設定する場合は、dwIndex パラメーターを 0 に設定する必要があります。

 

要件

要件
サポートされている最小のクライアント
Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2012 [デスクトップ アプリのみ]
[DLL]
Mssign32.dll

関連項目

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2