SignerSignEx2-Funktion
Die SignerSignEx2-Funktion signiert und zeitstempelt die angegebene Datei, sodass mehrere geschachtelte Signaturen zugelassen werden.
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 SignerSignEx2(
_In_ DWORD dwFlags,
_In_ SIGNER_SUBJECT_INFO *pSubjectInfo,
_In_ SIGNER_CERT *pSignerCert,
_In_ SIGNER_SIGNATURE_INFO *pSignatureInfo,
_In_opt_ SIGNER_PROVIDER_INFO *pProviderInfo,
_In_opt_ DWORD dwTimestampFlags,
_In_opt_ PCSTR pszTimestampAlgorithmOid,
_In_opt_ PCWSTR pwszHttpTimeStamp,
_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]
-
Ändert das Verhalten dieser Funktion.
Wenn es sich bei der zu signierten Datei um eine portable ausführbare Datei (PE) handelt, kann dies null oder eine Kombination aus einem oder mehreren der folgenden Werte sein.
Wert Bedeutung - SPC_EXC_PE_PAGE_HASHES_FLAG
- 0x10
Ausschließen von Seitenhashes beim Erstellen indirekter SIP-Daten für die PE-Datei. Dieses Flag hat Vorrang vor dem SPC_INC_PE_PAGE_HASHES_FLAG Flag.
Wenn weder das SPC_EXC_PE_PAGE_HASHES_FLAG - noch das SPC_INC_PE_PAGE_HASHES_FLAG-Flag angegeben wird, wird für diese Einstellung der Wert verwendet, der mit der WintrustSetDefaultIncludePEPageHashes-Funktion festgelegt ist. Die Standardeinstellung für diese Einstellung besteht darin, Seitenhashes beim Erstellen indirekter SIP-Daten für PE-Dateien auszuschließen.
Dieser Wert wird in der Headerdatei "Mssip.h" definiert.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- SPC_INC_PE_IMPORT_ADDR_TABLE_FLAG
- 0x20
Dieser Wert wird nicht unterstützt. - SPC_INC_PE_DEBUG_INFO_FLAG
- 0x40
Dieser Wert wird nicht unterstützt. - SPC_INC_PE_RESOURCES_FLAG
- 0x80
Dieser Wert wird nicht unterstützt. - SPC_INC_PE_PAGE_HASHES_FLAG
- 0x100
Schließen Sie Beim Erstellen indirekter SIP-Daten für die PE-Datei Seitenhashes ein.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
Dieser Wert wird in der Headerdatei "Mssip.h" definiert.- SIG_APPEND
- 0x1000
Die Signatur wird geschachtelt. Wenn Sie dieses Flag festlegen, bevor eine Signatur hinzugefügt wurde, wird die generierte Signatur als äußere Signatur hinzugefügt. Wenn Sie dieses Flag nicht festlegen, ersetzt die generierte Signatur die äußere Signatur und löscht alle inneren Signaturen. -
pSubjectInfo [in]
-
Zeiger auf eine SIGNER_SUBJECT_INFO-Struktur , die den zu signierenden Antragsteller angibt.
-
pSignerCert [in]
-
Zeiger auf eine SIGNER_CERT-Struktur , die das Zertifikat angibt, das zum Erstellen der digitalen Signatur verwendet werden soll.
-
pSignatureInfo [in]
-
Ein Zeiger auf eine SIGNER_SIGNATURE_INFO-Struktur , die Informationen zur digitalen Signatur enthält.
-
pProviderInfo [in, optional]
-
Zeiger auf eine SIGNER_PROVIDER_INFO-Struktur , die den Kryptografiedienstanbieter (Kryptografiedienstanbieter , CSP) und private Schlüsselinformationen angibt, die zum Erstellen der digitalen Signatur verwendet werden.
Wenn der Wert dieses Parameters NULL ist, muss der pSignerCert-Parameter ein Zertifikat angeben, das einem CSP zugeordnet ist.
-
dwTimestampFlags [in, optional]
-
Flags, die an SignerTimeStampEx3 übergeben werden, wenn der pwszHttpTimeStamp-Parameter nicht NULL ist. Dies kann einer der folgenden Werte sein.
Wert Bedeutung - SIGNER_TIMESTAMP_AUTHENTICODE
Standardwert. Gibt einen Authenticode-Zeitstempel an. - SIGNER_TIMESTAMP_RFC3161
Gibt einen RFC 3161-Zeitstempel an. Dieser Parameter wird ignoriert, wenn der pwszHttpTimeStamp-ParameterNULL ist.
-
pszTimestampAlgorithmOid [in, optional]
-
Objektbezeichner des Algorithmus, der zum Erstellen eines RFC 3161-Zeitstempels verwendet werden soll. Dieser Parameter wird für Authenticode-Zeitstempel ignoriert.
-
pwszHttpTimeStamp [in, optional]
-
URL des Zeitstempelservers.
-
psRequest [in, optional]
-
Zeiger auf ein Array von CRYPT_ATTRIBUTE Strukturen, die einer Zeichenanforderung hinzugefügt werden. Dieser Parameter wird ignoriert, wenn der pwszHttpTimeStamp-Parameter keinen gültigen Wert enthält oder NULL ist.
-
pSipData [in, optional]
-
Ein 32-Bit-Wert, der als zusätzliche Daten an SIP-Funktionen übergeben wird. Format und Inhalt werden vom SIP-Anbieter definiert.
-
ppSignerContext [out]
-
Die Adresse eines Zeigers auf die SIGNER_CONTEXT Struktur, die das signierte BLOB enthält. Wenn Sie mit der SIGNER_CONTEXT-Struktur fertig sind, geben Sie die SIGNER_CONTEXT-Struktur frei, indem Sie die SignerFreeSignerContext-Funktion aufrufen.
-
pCryptoPolicy [in, optional]
-
Falls vorhanden, ein Zeiger auf eine CERT_STRONG_SIGN_PARA-Struktur , die die Parameter enthält, die zur Überprüfung auf starke Signaturen verwendet werden. Wenn ein Zertifikat oder seine Kette nicht bestanden wird, wird die Datei in keiner Weise geändert. Wenn eine URL übergeben wird, um eine Zeitstempelautorität (Time Stamping Authority, TSA) anzugeben, wird diese Richtlinie auch auf den Zeitstempel angewendet.
-
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, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Mögliche Fehlercodes, die von dieser Funktion zurückgegeben werden, umfassen folgendes, sind jedoch nicht darauf beschränkt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.
Rückgabecode | Beschreibung |
---|---|
|
Wenn Sie den dwTimestampFlags-Parameter auf SIGNER_TIMESTAMP_AUTHENTICODE festlegen, können Sie den dwFlags-Parameter nicht auf SIG_APPEND festlegen. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 8 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2012 [nur Desktop-Apps] |
DLL |
|
Weitere Informationen