Freigeben über


Authenticode-Signatur von Drittanbietern von Kryptografiedienstanbietern (CsPs)

Die Authenticode-Signatur von Drittanbietern für benutzerdefinierte Kryptografiedienstanbieter (Cryptographic Service Providers, CSPs) ist in Windows Vista und höher verfügbar.

Daher signiert Microsoft keine CSPs mehr, und der manuelle CSP-Signaturdienst wurde eingestellt. E-Mails und CSPs, die an cspsign@microsoft.com oder cecspsig@microsoft.com zu signieren gesendet werden, werden von Microsoft nicht mehr verarbeitet.

Stattdessen können alle Drittanbieter-CSPs jetzt selbstsigniert werden, indem Sie das folgende Verfahren ausführen:

  1. Erwerben Sie ein Codesignaturzertifikat von einer Zertifizierungsstelle, für die Microsoft auch ein zertifikatübergreifendes Zertifikat ausgibt. Das Thema Cross-Certificates for Kernel Mode Code Signing enthält eine Liste der Zertifizierungsstellen, für die Microsoft auch Cross-Certificates und die entsprechenden Kreuzzertifikate bereitstellt. Beachten Sie, dass dies die einzigen Kreuzzertifikate sind, die bis zum von Microsoft ausgestellten "Microsoft Code Verification Root" verkettet werden, wodurch Windows DRITTANBIETER-CSPs ausführen kann.
  2. Nachdem Sie über ein Zertifikat der Zertifizierungsstelle und das entsprechende Kreuzzertifikat verfügen, können Sie SignTool verwenden, um alle CSP-Binärdateien zu signieren.
  3. SignTool ist in den neuesten Versionen von Visual Studio enthalten. Es ist auch in wdk Version 7.0 und neueren Versionen enthalten. Beachten Sie, dass das SignTool, das in früheren Versionen des WDK enthalten ist, nicht mit zertifikatübergreifenden Zertifikaten kompatibel ist und nicht zum Signieren Ihrer Binärdateien verwendet werden kann.

Hinweis

Ab Windows 8 ist es nicht mehr erforderlich, dass CSPs signiert werden müssen.

Sie können Binärdateien über eine Befehlszeile signieren oder als integrierten Buildschritt in Visual Studio 2012 und höher signieren.

Der Befehl für SignTool lautet:

signtool.exe sign /ac <cross-certificate_from_ms> /sha1 <sha1_hash> /t <timestamp_server> /d <”optional_description_in_double_quotes”> <binary_file.ext>
  • <cross-certificate_from_ca> ist die zertifikatübergreifende Datei, die Sie von Microsoft heruntergeladen haben.
  • < > sha1_hash ist der SHA1-Fingerabdruck, der dem Codesignaturzertifikat entspricht.
  • < > timestamp_server ist der Server, der zum Zeitstempeln des Signaturvorgangs verwendet wird.
  • <"optional_description_in_double_quotes"> ist eine optionale Anzeigenamenbeschreibung.
  • <binary_file.ext> ist die zu signierende Datei.

Beispiel:

signtool.exe sign /ac certificate.cer /sha1 553e39af9e0ea8c9edcd802abbf103166f81fa50 /t "http://timestamp.digicert.com" /d "My Cryptographic Service Provider" csp.dll

Hinweis

Es ist nicht erforderlich, die Ressourcen-ID #666 in die CSP-DLL oder die Signatur in die Registrierung einzuschließen, wie es für ältere CSP-Signaturen erforderlich war.

Zusätzliche Hilfe und Support

Sie können das Application Security for Windows Desktop-Forum ausprobieren, um Unterstützung zu erhalten.