File Signing-Tool (Signcode.exe)

Aktualisiert: November 2007

Das File Signing-Tool signiert eine PE-Datei (Portable Executable), d. h. eine DLL- oder EXE-Datei, mit einer digitalen Authenticode-Signatur. Sie können entweder eine Assembly oder eine einzelne Datei in einer Mehrdateienassembly signieren. Wenn Sie eine Assembly bereitstellen, sollten Sie nicht die einzelnen Dateien, sondern die Assembly signieren. Beim Ausführen von Signcode.exe ohne die Angabe von Optionen wird ein Assistent gestartet, der Sie beim Signieren unterstützt.

Das File Signing-Tool ist nur im Lieferumfang der .NET Framework SDK-Versionen 1.0 und 1.1 enthalten. Verwenden Sie in neueren Versionen stattdessen das Dienstprogramm Signaturtool (SignTool.exe).

signcode [options] filename | assemblyname

Parameter

Argument

Beschreibung

filename

Der Dateiname der zu signierenden PE-Datei.

assemblyname

Der Name der zu signierenden Assembly. Diese Datei muss ein Assemblymanifest enthalten.

Option

Beschreibung

-$ authority

Gibt die signierende Stelle für das Zertifikat an. Diese muss individual oder commercial sein. Signcode.exe verwendet standardmäßig die höchste Berechtigung des Zertifikats.

-a algorithm

Gibt den Hashalgorithmus für die Signierung an. Dieser muss md5 (Standard) oder sha1 lauten.

-c file

Gibt die Datei an, die das codierte Zertifikat für die Softwareveröffentlichung enthält.

-cn name

Gibt den gemeinsamen Namen des Zertifikats an.

‑i info

Gibt einen Ort an, an dem weitere Informationen zum Inhalt abgerufen werden können (meist einen URL).

-j dllName

Gibt den Namen einer DLL an, die ein Array authentifizierter Attribute zum Signieren von Dateien zurückgibt. Sie können mehrere DLLs durch Wiederholen der Option -j angeben.

-jp param

Gibt einen an die vorangestellte DLL zu übergebenden Parameter an. Beispiel: -j dll1 -jp dll1Param. Bei diesem Tool ist nur ein Parameter pro DLL zulässig.

-k keyname

Gibt den Namen des Schlüsselcontainers an.

-ky keytype

Gibt den Schlüsseltyp an. Dieser muss signature, exchange oder eine ganze Zahl (z. B. 4) sein.

-n name

Gibt einen Textnamen an, der den Inhalt der zu signierenden Datei darstellt.

-p provider

Gibt den Namen des Kryptografieanbieters im System an.

-r location

Gibt den Speicherort für Zertifikate in der Registrierung an. Dieser muss currentuser (Standard) oder localmachine sein.

-s store

Gibt den Zertifikatsspeicher an, der das Signierungszertifikat enthält. Der Standardspeicher ist my store.

-sha1 thumbprint

thumbprint gibt den Fingerabdruck an, der den sha1-Hash des Signierungszertifikats im Zertifikatsspeicher darstellt.

-sp policy

Legt die Richtlinien für den Zertifikatsspeicher fest. Diese müssen spcStore (Standard) oder chain sein. Wenn Sie chain angeben, werden alle Zertifikate in der Überprüfungskette, einschließlich selbstsignierter Zertifikate, der Signatur hinzugefügt. Wenn Sie spcStore angeben, werden vertrauenswürdige, selbstsignierte Zertifikate nicht in die Kette der Zertifikate aufgenommen, die der Signatur hinzugefügt werden.

-spc file

file gibt die SPC-Datei an, die Zertifikate für die Softwareveröffentlichung enthält.

-t URL

Gibt an, dass die Datei vom Timestampserver an der angegebenen http-Adresse mit einem Timestamp versehen werden soll.

-tr number

Gibt an, wie oft ein Timestamp höchstens versucht werden soll. Der Standardwert ist 1.

-tw number

Gibt die Wartezeit (in Sekunden) zwischen den Timestampversuchen an. Der Standardwert ist 0 (null).

-v pvkFile

Gibt den Namen der Privatschlüsseldatei (.pvk) an, die den privaten Schlüssel enthält.

-x

Versieht die Datei mit einem Timestamp, signiert sie jedoch nicht.

-y type

Gibt den zu verwendenden Typ des Kryptografieanbieters an.

Ein Kryptografieanbieter enthält Implementierungen von kryptografischen Standards und Algorithmen. Eine Liste der Standardanbietertypen finden Sie im Platform SDK unter "Microsoft Cryptographic Service Providers".

-?

Zeigt die Befehlssyntax und Optionen für das Tool an.

Hinweise

Um mit einer SPC-Datei (Software Publisher Certificate) zu signieren, müssen Sie die Optionen -spc und -v angeben, wenn sich der private Schlüssel in einer PVK-Datei befindet. Wenn sich der private Schlüssel in einem Registrierungsschlüsselcontainer befindet, müssen Sie die Optionen -spc und -k angeben. Wenn Sie die Datei mit einer SPC-Datei signieren möchten, sollten Sie die SPC-Datei mithilfe des Certificate Creation-Tools und des Software Publisher Certificate Test-Tools erstellen.

Beispiele

Mit dem folgenden Befehl wird XYZ.exe mit dem SPC (Software Publisher Certificate) in XYZ.spc und dem privaten Schlüssel im Registrierungsschlüsselcontainer XYZ signiert.

signcode /spc XYZ.spc /k XYZ XYZ.exe

Der folgende Befehl signiert die Assembly myAssembly mit dem in myCertificate.spc enthaltenen Zertifikat und mit dem privaten Schlüssel in myKey.pvk.

signcode /spc myCertificate.spc /v myKey.pvk  myAssembly

Siehe auch

Konzepte

Sicherheitsberechtigungen

Referenz

.NET Framework-Tools

Certificate Creation-Tool (Makecert.exe)

Software Publisher Certificate Test-Tool (Cert2spc.exe)

SDK-Eingabeaufforderung