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 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.

Zobacz też