Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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>
<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.