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 narzędzia signtool.exe
i nie jest zadaniem podpisywania ogólnego przeznaczenia.
Parametry
W poniższej tabeli opisano parametry zadania SignFile
.
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 String .Określa certyfikat do użycia do podpisywania. Ten certyfikat musi znajdować się w magazynie osobistym bieżącego użytkownika. |
SigningTarget |
Wymagany parametr ITaskItem. Określa pliki do podpisania przy użyciu certyfikatu typu .exe lub .dll. |
TimestampUrl |
Opcjonalny parametr String .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 klasy Task. Aby uzyskać listę tych dodatkowych parametrów i ich opisów, zobacz klasa bazowa zadań.
Plik SignFile wymaga zainstalowania programu Visual Studio lub zestawu SDK systemu Windows 8.1 w celu znalezienia narzędzia signtool.exe
na ś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 zadania SignFile
do podpisania plików określonych w kolekcji elementów FilesToSign
przy użyciu certyfikatu określonego przez właściwość CertificateThumbprint
.
<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>
Nuta
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.
Zobacz też
- — dokumentacja zadania
- Tasks