SignFile — zadanie
Podpisuje określony plik przy użyciu określonego certyfikatu. Plik SignFile jest przeznaczony tylko do podpisywania plików ClickOnce. Jest to otoka dla signtool.exe
narzędzia i nie jest zadaniem podpisywania ogólnego przeznaczenia.
Parametry
W poniższej tabeli opisano parametry SignFile
zadania.
Należy pamiętać, że certyfikaty SHA-256 są dozwolone tylko na maszynach z platformą .NET 4.5 lub nowszą.
Ostrzeżenie
Począwszy od programu Visual Studio 2013 Update 3, to zadanie ma nowy podpis, który umożliwia określenie wersji platformy docelowej dla pliku. Zachęcamy do używania nowego podpisu wszędzie tam, gdzie to możliwe, ponieważ proces MSBuild używa skrótów SHA-256 tylko wtedy, gdy platforma docelowa to .NET 4.5 lub nowsza. Jeśli platforma docelowa jest platformą .NET 4.0 lub nowszą, skrót SHA-256 nie będzie używany.
Parametr | Opis |
---|---|
CertificateThumbprint |
Wymagany parametr interfejsu String .Określa certyfikat do użycia do podpisywania. Ten certyfikat musi znajdować się w magazynie osobistym bieżącego użytkownika. |
SigningTarget |
Wymagany parametr interfejsu ITaskItem. Określa pliki do podpisania przy użyciu certyfikatu, typu .exe lub .dll. |
TimestampUrl |
Opcjonalny String parametr.Określa adres URL serwera sygnatur czasowych. |
TargetFrameworkVersion |
Wersja programu .NET Framework, która jest używana dla elementu docelowego. |
Uwagi
Oprócz parametrów wymienionych powyżej to zadanie dziedziczy parametry z Task klasy. Aby uzyskać listę tych dodatkowych parametrów i ich opisy, zobacz Klasa podstawowa zadania.
Plik SignFile wymaga zainstalowania programu Visual Studio lub zestawu SDK systemu Windows 8.1 w celu znalezienia signtool.exe
narzędzia w ścieżce. Nie można jej używać w scenariuszach ciągłej integracji/ciągłego wdrażania, w których są zainstalowane tylko narzędzia kompilacji.
Przykład
W poniższym przykładzie użyto SignFile
zadania do podpisania plików określonych w FilesToSign
kolekcji elementów przy użyciu certyfikatu określonego CertificateThumbprint
przez właściwość .
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<FileToSign Include="File.exe" />
</ItemGroup>
<PropertyGroup>
<Certificate>Cert.cer</Certificate>
</PropertyGroup>
<Target Name="Sign">
<SignFile
CertificateThumbprint="$(CERTIFICATE_THUMBPRINT)"
SigningTarget="@(FileToSign)"
TargetFrameworkVersion="v4.5" />
</Target>
</Project>
Uwaga
Odcisk palca certyfikatu to skrót SHA-1 certyfikatu. W tym przykładzie przyjęto założenie, że zmienna środowiskowa CERTIFICATE_THUMBPRINT
zawierająca odcisk palca. Aby uzyskać więcej informacji, zobacz Uzyskiwanie skrótu SHA-1 zaufanego certyfikatu głównego urzędu certyfikacji. Jeśli skopiujesz i wklejesz odcisk palca ze szczegółów certyfikatu, upewnij się, że nie dołączysz dodatkowego niewidocznego znaku (3F), co może uniemożliwić SignFile
znalezienie certyfikatu.