SignFile-Aufgabe
Signiert die angegebene Datei mit dem angegebenen Zertifikat.
Parameter
In der folgenden Tabelle werden die Parameter der SignFile-Aufgabe beschrieben.
Beachten Sie, dass SHA-256-Zertifikate nur auf Computern zulässig sind, auf denen .NET 4.5 und höher installiert ist.
Warnung
Ab Visual Studio 2013 Update 3 hat diese Aufgabe eine neue Signatur, mit der Sie die Zielframeworkversion für die Datei angeben können.Sie sollen die neue Signatur verwenden, wo immer möglich, weil der MSBuild-Prozess SHA-256-Hashes nur dann verwendet, wenn das Zielframework .NET 4.5 oder höher ist.Wenn das Zielframework .NET 4.0 oder älter ist, wird der SHA-256-Hash nicht verwendet.
Parameter |
Beschreibung |
---|---|
CertificateThumbprint |
Erforderlicher String-Parameter. Gibt das zum Signieren zu verwendende Zertifikat an. Dieses Zertifikat muss sich im persönlichen Speicher des aktuellen Benutzers befinden. |
SigningTarget |
Erforderlicher ITaskItem-Parameter. Gibt die Dateien an, die mit dem Zertifikat signiert werden sollen. |
TimestampUrl |
Optionaler String-Parameter. Gibt die URL eines Zeitstempelservers an. |
TargetFrameworkVersion |
Die Version des .NET Framework, die für das Ziel verwendet wird. |
Hinweise
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der Task-Klasse. Eine Liste mit diesen zusätzlichen Parametern und ihren Beschreibungen finden Sie unter Aufgabenbasisklasse.
Beispiel
Im folgenden Beispiel wird die SignFile-Aufgabe zum Signieren der Dateien verwendet, die in der FilesToSign-Elementauflistung mit dem in der Certificate-Eigenschaft angegebenen Zertifikat angegeben werden.
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FileToSign Include="File.exe" />
</ItemGroup>
<PropertyGroup>
<Certificate>Cert.cer</Certificate>
</PropertyGroup>
<Target Name="Sign">
<SignFile
CertificateThumbprint="$(CertificateThumbprint)"
SigningTarget="@(FileToSign)"
TargetFrameworkVersion="v4.5" />
</Target>
</Project>
Hinweis
Der Zertifikatfingerabdruck ist der SHA1-Hash des Zertifikats.Weitere Informationen finden Sie unter Abrufen des SHA-1-Hashs eines vertrauenswürdigen Stammzertifizierungsstellenzertifikats.
Im folgenden Beispiel wird die Exec-Aufgabe zum Signieren der Dateien verwendet, die in der FilesToSign-Elementauflistung mit dem in der Certificate-Eigenschaft angegebenen Zertifikat angegeben werden. Damit können Sie Windows Installer-Dateien während des Buildprozesses signieren.
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FileToSign Include="File.msi" />
</ItemGroup>
<PropertyGroup>
<Certificate>Cert.cer</Certificate>
</PropertyGroup>
<Target Name="Sign">
<Exec Command="signtool.exe sign /f CertFile /p Password "@(FileToSign)" "/>
<SignFile
CertificateThumbprint="$(CertificateThumbprint)"
SigningTarget="@(FileToSign)"
TargetFrameworkVersion="v4.0" />
</Target>
</Project>