SignedCode.Sign-Methode

[Die Sign-Methode ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt "Anforderungen" angegeben sind. Verwenden Sie stattdessen Platform Invocation Services (PInvoke), um die Win32-API-Funktionen SignerSignEx, SignerTimeStampEx und WinVerifyTrust aufzurufen, um Inhalte mit einer digitalen Authenticode-Signatur zu signieren. Informationen zu PInvoke finden Sie unter Tutorial zum Plattformaufruf. . NET und CryptoAPI über P/Invoke: Teil 1 und .NET und CryptoAPI über P/Invoke: Teil 2 der Erweiterung der .NET-Kryptografie mit CAPICOM und P/Invoke können ebenfalls hilfreich sein.]

Die Sign-Methode erstellt eine digitale Authenticode-Signatur und signiert die ausführbare Datei, die in der SignedCode.FileName-Eigenschaft angegeben ist.

Syntax

SignedCode.Sign( _
  [ ByVal Signer ] _
)

Parameter

Signierer [in, optional]

Ein Signerobjekt , das Zugriff auf den privaten Schlüssel des Zertifikats hat, das zum Signieren des Codes verwendet wird. Der Standardwert ist NULL.

Rückgabewert

Diese Methode gibt keinen Wert zurück.

Bemerkungen

Bevor die Sign-Methode aufgerufen wird, muss die Datei, die den Code enthält, in der FileName-Eigenschaft angegeben werden.

Wenn die ausführbare Datei bereits signiert ist, überschreibt diese Methode die vorhandene Signatur.

Die folgenden Ergebnisse gelten für den Signer-Parameterwert :

  • Wenn der Signer-Parameter nicht NULL ist, verwendet diese Methode den privaten Schlüssel, auf den das zugehörige Zertifikat verweist, um die Signatur zu verschlüsseln. Wenn der private Schlüssel, auf den das Zertifikat verweist, nicht verfügbar ist, schlägt die Methode fehl.
  • Wenn der Signer-ParameterNULL ist und genau ein Zertifikat im CURRENT_USER MY-Speicher vorhanden ist, das Zugriff auf einen privaten Schlüssel mit Codesignaturfunktion hat, wird dieses Zertifikat verwendet, um die Signatur zu erstellen.
  • Wenn der Signer-ParameterNULL ist, der Settings.EnablePromptForCertificateUI-Eigenschaftswert true ist und mehr als ein Zertifikat im CURRENT_USER MY-Speicher mit einem verfügbaren privaten Schlüssel mit Codesignierungsfunktion vorhanden ist, wird ein Dialogfeld angezeigt, in dem der Benutzer auswählen kann, welches Zertifikat verwendet wird.
  • Wenn der Signer-ParameterNULL und die Settings.EnablePromptForCertificateUI-Eigenschaft false ist, schlägt die Methode fehl.
  • Wenn der Signer-ParameterNULL ist und keine Zertifikate im CURRENT_USER MY-Speicher mit einem verfügbaren privaten Schlüssel mit Codesignaturfunktion vorhanden sind, schlägt die Methode fehl.

Diese Methode verwendet den SHA-1-Hashalgorithmus.

Anforderungen

Anforderung Wert
Verteilbare Komponente
CAPICOM 2.0 oder höher unter Windows Server 2003 und Windows XP
DLL
Capicom.dll