Aracılığıyla paylaş


SignFile görevi

Belirtilen sertifikayı kullanarak belirtilen dosyayı imzalar. SignFile yalnızca ClickOnce dosyalarını imzalamak için tasarlanmıştır. signtool.exe aracı için sarmalayıcıdır ve genel amaçlı bir imzalama görevi değildir.

Parametre

Aşağıdaki tabloda SignFile görevinin parametreleri açıklanmaktadır.

SHA-256 sertifikalarına yalnızca .NET 4.5 ve üzeri olan makinelerde izin verildiğini unutmayın.

Uyarı

Visual Studio 2013 Güncelleştirme 3'te başlayarak, bu görevin dosya için hedef çerçeve sürümünü belirtmenize olanak tanıyan yeni bir imzası vardır. MSBuild işlemi yalnızca hedef çerçeve .NET 4.5 veya üzeri olduğunda SHA-256 karmalarını kullandığından, mümkün olduğunda yeni imzayı kullanmanız önerilir. Hedef çerçeve .NET 4.0 veya altındaysa SHA-256 karması kullanılmaz.

Parametre Açıklama
CertificateThumbprint Gerekli String parametresi.

İmzalama için kullanılacak sertifikayı belirtir. Bu sertifika geçerli kullanıcının kişisel deposunda olmalıdır.
SigningTarget Gerekli ITaskItem parametresi.

.exe veya .dlltüründe sertifikayla imzalayacak dosyaları belirtir.
TimestampUrl İsteğe bağlı String parametresi.

Zaman damgalama sunucusunun URL'sini belirtir.
TargetFrameworkVersion Hedef için kullanılan .NET Framework sürümü.

Açıklamalar

Yukarıda listelenen parametrelere ek olarak, bu görev parametreleri Task sınıfından devralır. Bu ek parametrelerin ve açıklamalarının listesi için bkz. Görev temel sınıfı.

SignFile, yolda signtool.exe aracını bulmak için Visual Studio veya Windows 8.1 SDK'sının yüklenmesini gerektirir. Yalnızca derleme araçlarının yüklü olduğu CI/CD senaryolarında kullanılamaz.

Örnek

Aşağıdaki örnekte SignFile görevi, FilesToSign öğe koleksiyonunda belirtilen dosyaları CertificateThumbprint özelliği tarafından belirtilen sertifikayla imzalamak için kullanılır.

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

Not

Sertifika parmak izi, sertifikanın SHA-1 karmasıdır. Buradaki örnekte parmak izini içeren bir ortam değişkeni CERTIFICATE_THUMBPRINT varsayılır. Daha fazla bilgi için bkz. Güvenilen kök CA sertifikasıSHA-1 karması alma. Parmak izini sertifika ayrıntılarından kopyalayıp yapıştırırsanız, SignFile sertifikayı bulmasını engelleyebilecek fazladan (3F) görünmez karakteri eklemediğinizden emin olun.

Ayrıca bkz.

  • görev başvuru
  • görevleri