Tugas SignFile
Menandatangani file yang ditentukan menggunakan sertifikat yang ditentukan. SignFile hanya ditujukan untuk menandatangani file ClickOnce. Ini adalah pembungkus untuk alat signtool.exe
dan bukan tugas penandatanganan tujuan umum.
Parameter
Tabel berikut ini menjelaskan parameter tugas SignFile
.
Perhatikan bahwa sertifikat SHA-256 hanya diizinkan pada komputer yang memiliki .NET 4.5 dan yang lebih tinggi.
Peringatan
Mulai dari Visual Studio 2013 Update 3, tugas ini memiliki tanda tangan baru yang memungkinkan Anda menentukan versi kerangka kerja target untuk file tersebut. Anda dianjurkan untuk menggunakan tanda tangan baru sedapat mungkin, karena proses MSBuild menggunakan hash SHA-256 hanya ketika kerangka kerja target adalah .NET 4.5 atau lebih tinggi. Jika kerangka kerja target adalah .NET 4.0 atau di bawahnya, hash SHA-256 tidak akan digunakan.
Parameter | Deskripsi |
---|---|
CertificateThumbprint |
Parameter String yang diperlukan.Menentukan sertifikat yang akan digunakan untuk penandatanganan. Sertifikat ini harus berada di penyimpanan pribadi pengguna saat ini. |
SigningTarget |
Parameter ITaskItem yang diperlukan. Menentukan file yang akan ditandatangani dengan sertifikat, tipe .exe atau .dll. |
TimestampUrl |
Parameter String opsional.Menentukan URL server stempel waktu. |
TargetFrameworkVersion |
Versi .NET Framework yang digunakan untuk target. |
Komentar
Selain parameter yang tercantum di atas, tugas ini mewarisi parameter dari kelas Task. Untuk daftar parameter tambahan ini dan deskripsinya, lihat kelas dasar Tugas.
SignFile mengharuskan Visual Studio atau Windows 8.1 SDK diinstal, untuk menemukan alat signtool.exe
di jalur. Ini tidak dapat digunakan dalam skenario CI/CD di mana hanya alat build yang diinstal.
Contoh
Contoh berikut menggunakan tugas SignFile
untuk menandatangani file yang ditentukan dalam kumpulan item FilesToSign
dengan sertifikat yang ditentukan oleh properti 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>
Nota
Thumbprint sertifikat adalah hash SHA-1 dari sertifikat. Contoh di sini mengasumsikan variabel lingkungan CERTIFICATE_THUMBPRINT
yang berisi thumbprint. Untuk informasi selengkapnya, lihat Mendapatkan hash SHA-1 dari sertifikat CA akar tepercaya. Jika Anda menyalin dan menempelkan thumbprint dari detail sertifikat, pastikan Anda tidak menyertakan karakter tambahan (3F) yang tidak terlihat, yang dapat mencegah SignFile
menemukan sertifikat.