Freigeben über


SignerTimeStampEx3-Funktion

Die SignerTimeStampEx3-Funktion zeitstempelt den angegebenen Betreff und unterstützt das Festlegen von Zeitstempeln für mehrere Signaturen.

Hinweis

Diese Funktion verfügt über keine zugeordnete Headerdatei oder Importbibliothek. Um diese Funktion aufzurufen, müssen Sie eine benutzerdefinierte Headerdatei erstellen und die Funktionen LoadLibrary und GetProcAddress zum dynamischen Verknüpfen mit Mssign32.dll verwenden.

 

Syntax

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
);

Parameter

dwFlags [in]

Flag, das den Typ des zu generierenden Zeitstempels angibt. Dieser Parameter kann einen der folgenden Werte annehmen. Die Werte schließen sich gegenseitig aus.

Wert Bedeutung
SIGNER_TIMESTAMP_AUTHENTICODE
Gibt einen Authenticode-Zeitstempel an.
Hinweis: Authenticode ist nicht mehr der bevorzugte Zeitstempeltyp. Die Unterstützung für Authenticode-Zeitstempel kann in Zukunft entfernt werden. Es wird empfohlen, stattdessen RFC 3161 zu verwenden.
SIGNER_TIMESTAMP_RFC3161
Gibt einen RFC 3161-konformen Zeitstempel an.

 

dwIndex [in]

Gibt die Sequenznummer der Signatur an, der der Zeitstempel hinzugefügt wird. Wenn dieser Wert null (0) ist, wird die äußere Signatur mit einem Zeitstempel versehen.

pSubjectInfo [in]

Die Adresse einer SIGNER_SUBJECT_INFO Struktur, die den Betreff darstellt, der zeitstempelt werden soll.

pwszHttpTimeStamp [in]

Die Adresse einer Unicode-Zeichenfolge mit NULL-Beendigung, die die URL eines Zeitstempelservers enthält.

pszAlgorithmOid [in]

Ein Hashalgorithmus, der zum Ausführen von RFC 3161-konformen Zeitstempeln verwendet werden soll. Dieser Parameter wird für Authenticode-Zeitstempel ignoriert.

psRequest [in, optional]

Optional. Die Adresse einer CRYPT_ATTRIBUTES-Struktur , die zusätzliche Attribute enthält, die der Zeitstempelanforderung hinzugefügt werden.

Dieser Parameter ist optional und kann NULL sein, wenn er nicht enthalten ist.

pSipData [in, optional]

Optional. Ein 32-Bit-Wert, der als zusätzliche Daten an SIP-Funktionen ( Subject Interface Package ) übergeben wird. Format und Inhalt dieses Parameters werden vom SIP-Anbieter definiert.

Dieser Parameter ist optional und kann NULL sein, wenn er nicht enthalten ist.

ppSignerContext [out]

Optional. Die Adresse eines Zeigers auf die SIGNER_CONTEXT Struktur, die das signierte BLOB enthält. Wenn Sie die Verwendung der SIGNER_CONTEXT-Struktur abgeschlossen haben, geben Sie sie frei, indem Sie die SignerFreeSignerContext-Funktion aufrufen.

pCryptoPolicy [in, optional]

Wenn vorhanden, ein Zeiger auf eine CERT_STRONG_SIGN_PARA Struktur, die die Parameter enthält, die zur Überprüfung auf starke Signaturen verwendet werden. Der Zeitstempel muss diese kryptografische Richtlinie übergeben.

Erhalten

Reserviert. Dieser Wert muss NULL sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.

Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt. Mögliche Fehlercodes, die von dieser Funktion zurückgegeben werden, sind jedoch nicht darauf beschränkt: Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Rückgabecode Beschreibung
E_INVALIDARG
Dieser Fehler kann für die folgenden Bedingungen zurückgegeben werden:
  • Sie müssen entweder SIGNER_TIMESTAMP_AUTHENTICODE oder SIGNER_TIMESTAMP_RFC3161 für den dwFlags-Parameter festlegen.
  • Der Parameter pReserved muss NULL sein.
  • Wenn Sie das SIGNER_TIMESTAMP_AUTHENTICODE-Flag im dwFlags-Parameter festlegen, müssen Sie den dwIndex-Parameter auf 0 (null) festlegen.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2012 [nur Desktop-Apps]
DLL
Mssign32.dll

Weitere Informationen

SignerTimeStamp

SignerTimeStampEx

SignerTimeStampEx2