Udostępnij za pośrednictwem


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