Menyiapkan integrasi pendaftaran untuk menggunakan Penandatanganan Tepercaya
Penandatanganan Tepercaya saat ini mendukung integrasi penandatanganan berikut:
- SignTool
- GitHub Actions
- Tugas Azure DevOps
- PowerShell untuk Authenticode
- Azure PowerShell (Kebijakan App Control for Business CI)
- SDK Penandatanganan Tepercaya
Kami terus bekerja untuk mendukung lebih banyak integrasi penandatanganan. Kami memperbarui daftar integrasi yang didukung saat lebih banyak integrasi tersedia.
Artikel ini menjelaskan cara menyiapkan setiap integrasi penandatanganan Penandatanganan Tepercaya yang didukung.
Menyiapkan SignTool untuk menggunakan Penandatanganan Tepercaya
Bagian ini menjelaskan cara menyiapkan SignTool untuk digunakan dengan Penandatanganan Tepercaya.
Prasyarat
Untuk menyelesaikan langkah-langkah dalam artikel ini, Anda perlu:
- Akun Penandatanganan Tepercaya, validasi identitas, dan profil sertifikat.
- Penetapan individu atau grup dari peran Penanda tanganan Sertifikat Tepercaya.
- Pembaruan Windows 10 Versi 1809/Oktober 2018 atau yang lebih baru, Windows 11 (semua versi), atau Windows Server 2016 atau yang lebih baru
Alat Penginstal Alat Klien Penandatanganan Tepercaya
Alat Klien Penandatanganan Tepercaya untuk SignTool.exe adalah plugin pustaka yang memerlukan komponen berikut:
- Windows SDK SignTool.exe (versi minimum: 10.0.2261.755)
- Runtime .NET 8
- Microsoft Visual C++ Dapat Didistribusikan Ulang
- Dlib Klien Penandatanganan Tepercaya
Untuk menyederhanakan penyiapan ini, ada paket alat penginstal MSI yang tersedia untuk diunduh bersama dengan Setup.exe.
Menginstal dari Pengelola Paket Windows
Penginstal Alat Klien Penandatanganan Tepercaya tersedia di Pengelola Paket Windows (WinGet).
Catatan
winget tersedia secara default dalam versi Windows 10 Windows 11 dan modern. Namun, mungkin tidak diinstal di versi Windows yang lebih lama. Lihat dokumentasi winget untuk instruksi penginstalan.
winget install -e --id Microsoft.Azure.TrustedSigningClientTools
Opsinya -e
adalah memastikan paket Alat Klien Penandatanganan Tepercaya resmi diinstal. Perintah ini menginstal versi terbaru secara default. Untuk menentukan versi, tambahkan dengan versi yang -v <version>
Anda inginkan ke perintah .
Menginstal dari PowerShell
Untuk menginstal Alat Klien Penandatanganan Tepercaya menggunakan PowerShell, mulai PowerShell sebagai administrator dan jalankan perintah berikut:
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri "https://download.microsoft.com/download/6d9cb638-4d5f-438d-9f21-23f0f4405944/TrustedSigningClientTools.msi" -OutFile .\TrustedSigningClientTools.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I TrustedSigningClientTools.msi /quiet'; Remove-Item .\TrustedSigningClientTools.msi
Ringkasan langkah-langkah penyiapan manual
- Unduh dan instal SignTool.
- Unduh dan instal .NET 8 Runtime.
- Unduh dan instal paket dlib Penandatanganan Tepercaya.
- Buat file JSON untuk menyediakan akun Penandatanganan Tepercaya dan profil sertifikat Anda.
- Untuk Menandatangani file, Panggil SignTool.
Mengunduh dan menginstal SignTool
Penandatanganan Tepercaya memerlukan penggunaan SignTool untuk menandatangani file di Windows, khususnya versi SignTool.exe yang ada di Windows 10 SDK 10.0.2261.755 atau yang lebih baru. Anda dapat menginstal SDK Windows 10 lengkap melalui Alat Penginstal Visual Studio atau mengunduh dan menginstalnya secara terpisah.
Untuk mengunduh dan menginstal SignTool:
Unduh Versi terbaru SignTool dan Windows Build Tools NuGet di Microsoft.Windows.SDK.BuildTools.
Instal SignTool dari Windows SDK (versi minimum: 10.0.2261.755, versi Windows SDK 20348 tidak didukung dengan dlib kami).
Opsi lain adalah menggunakan file nuget.exe terbaru untuk mengunduh dan mengekstrak paket NuGet Windows SDK Build Tools terbaru dengan menggunakan PowerShell:
Unduh nuget.exe dengan menjalankan perintah unduhan berikut:
Invoke-WebRequest -Uri https://dist.nuget.org/win-x86-commandline/latest/nuget.exe -OutFile .\nuget.exe
Unduh dan ekstrak paket NuGet Alat Build Windows SDK dengan menjalankan perintah penginstalan berikut:
.\nuget.exe install Microsoft.Windows.SDK.BuildTools -Version 10.0.22621.3233 -x
Mengunduh dan menginstal Runtime .NET 8.0
Komponen yang digunakan SignTool untuk berinteraksi dengan Penandatanganan Tepercaya memerlukan penginstalan Runtime .NET 8.0 Anda hanya memerlukan Inti .NET 8.0 Runtime. Pastikan Anda menginstal runtime platform yang benar tergantung pada versi SignTool yang ingin Anda jalankan. Atau, Anda cukup menginstal keduanya
Contohnya:
- Untuk SignTool.exe x64: Unduh Runtime .NET 8.0 - Penginstal Windows x64
- Untuk SignTool.exe x86: Unduh .NET 8.0 Runtime - Penginstal Windows x86
Mengunduh dan menginstal paket dlib Penandatanganan Tepercaya
Untuk mengunduh dan menginstal paket dlib Penandatanganan Tepercaya (file .zip):
Unduh paket dlib Penandatanganan Tepercaya.
Ekstrak konten zip dlib Penandatanganan Tepercaya dan instal pada simpul penandatanganan Anda di direktori pilihan Anda. Simpul harus menjadi simpul tempat Anda menggunakan SignTool untuk menandatangani file.
Opsi lain adalah mengunduh paket dlib Penandatanganan Tepercaya melalui NuGet yang mirip seperti paket NuGet Windows SDK Build Tools:
.\nuget.exe install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x
Membuat file JSON
Untuk menandatangani dengan menggunakan Penandatanganan Tepercaya, Anda perlu memberikan detail akun Penandatanganan Tepercaya dan profil sertifikat yang dibuat sebagai bagian dari prasyarat. Anda memberikan informasi ini pada file JSON dengan menyelesaikan langkah-langkah berikut:
Buat file JSON baru (misalnya, metadata.json).
Tambahkan nilai tertentu untuk akun Penandatanganan Tepercaya dan profil sertifikat Anda ke file JSON. Untuk informasi selengkapnya, lihat file metadata.sample.json yang disertakan dalam paket dlib Penandatanganan Tepercaya atau gunakan contoh berikut:
{ "Endpoint": "<Trusted Signing account endpoint>", "CodeSigningAccountName": "<Trusted Signing account name>", "CertificateProfileName": "<Certificate profile name>", "CorrelationId": "<Optional CorrelationId value>" }
Nilai
"Endpoint"
URI harus URI yang selaras dengan wilayah tempat Anda membuat akun Penandatanganan Tepercaya dan profil sertifikat saat Anda menyiapkan sumber daya ini. Tabel memperlihatkan wilayah dan URI yang sesuai.Wilayah Bidang kelas wilayah Nilai URI titik akhir AS Timur USTimur https://eus.codesigning.azure.net
US3 Barat [1] WestUS3 https://wus3.codesigning.azure.net
AS Tengah Bagian Barat WestCentralUS https://wcus.codesigning.azure.net
US Barat 2 WestUS2 https://wus2.codesigning.azure.net
Eropa Utara NorthEurope https://neu.codesigning.azure.net
Eropa Barat WestEurope https://weu.codesigning.azure.net
1 Bidang opsional
"CorrelationId"
adalah nilai string buram yang dapat Anda berikan untuk menghubungkan permintaan tanda dengan alur kerja Anda sendiri, seperti pengidentifikasi build atau nama komputer.
Autentikasi
Tugas ini melakukan autentikasi menggunakan DefaultAzureCredential, yang mencoba serangkaian metode autentikasi secara berurutan. Jika satu metode gagal, metode akan mencoba metode berikutnya hingga autentikasi berhasil.
Setiap metode autentikasi dapat dinonaktifkan satu per satu untuk menghindari upaya yang tidak perlu.
Misalnya, saat mengautentikasi dengan EnvironmentCredential secara khusus, nonaktifkan kredensial lain dengan input berikut:
ExcludeEnvironmentCredential: false ExcludeManagedIdentityCredential: true ExcludeSharedTokenCacheCredential: true ExcludeVisualStudioCredential: true ExcludedeVisualStudioCodeCredential: true ExcludeAzureCliCredential: true ExcludeAzurePowershellCredential: true ExcludeInteractiveBrowserCredential: true
Demikian pula, jika menggunakan misalnya AzureCliCredential , maka kita ingin melompati upaya untuk mengautentikasi dengan beberapa metode yang datang sebelum secara berurutan.
Menggunakan SignTool untuk menandatangani file
Untuk memanggil SignTool untuk menandatangani file:
Catat tempat SDK Build Tools Anda, Azure.CodeSigning.Dlib yang diekstrak, dan file metadata.json Anda berada (dari bagian sebelumnya).
Ganti tempat penampung di jalur berikut dengan nilai tertentu yang Anda catat di langkah 1:
& "<Path to SDK bin folder>\x64\signtool.exe" sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "<Path to Trusted Signing dlib bin folder>\x64\Azure.CodeSigning.Dlib.dll" /dmdf "<Path to metadata file>\metadata.json" <File to sign>
- SignTool versi x86 dan x64 disertakan dalam Windows SDK. Pastikan untuk mereferensikan versi Azure.CodeSigning.Dlib.dll yang sesuai. Contoh sebelumnya adalah untuk SignTool versi x64.
- Pastikan Anda menggunakan versi Windows SDK yang direkomendasikan dalam dependensi yang tercantum di awal artikel ini atau file dlib tidak akan berfungsi.
Sertifikat Penandatanganan Tepercaya memiliki validitas tiga hari, sehingga stempel waktu sangat penting untuk validasi tanda tangan yang berhasil dilanjutkan di luar periode validitas tiga hari tersebut. Penandatanganan Tepercaya merekomendasikan penggunaan Otoritas Stempel Waktu Microsoft Public RSA Penandatanganan Tepercaya: http://timestamp.acs.microsoft.com/
.
Menggunakan integrasi penandatanganan lainnya dengan Penandatanganan Tepercaya
Anda juga dapat menggunakan alat atau platform berikut untuk menyiapkan integrasi pendaftaran dengan Penandatanganan Tepercaya.
GitHub Actions: Untuk mempelajari cara menggunakan tindakan GitHub untuk Penandatanganan Tepercaya, lihat Penandatanganan Tepercaya - Tindakan di GitHub Marketplace. Selesaikan instruksi untuk menyiapkan dan menggunakan tindakan GitHub.
Tugas Azure DevOps: Untuk menggunakan tugas Azure DevOps Penandatanganan Tepercaya, lihat Masuk Tepercaya di Visual Studio Marketplace. Selesaikan instruksi untuk penyiapan.
PowerShell untuk Authenticode: Untuk menggunakan PowerShell untuk Penandatanganan Tepercaya, lihat Masuk Tepercaya di Galeri PowerShell untuk menginstal modul PowerShell.
Azure PowerShell - Kebijakan App Control for Business CI: Untuk menggunakan Penandatanganan Tepercaya untuk penandatanganan kebijakan integritas kode (CI), ikuti instruksi di Menandatangani kebijakan CI baru dan lihat Modul PowerShell Az.CodeSigning.
SDK Penandatanganan Tepercaya: Untuk membuat integrasi penandatanganan Anda sendiri, Anda dapat menggunakan SDK Penandatanganan Tepercaya sumber terbuka kami.
Azure.Developer.TrustedSigning.CryptoProvider: Menyederhanakan integrasi layanan dengan penyedia kripto .NET yang mengabstraksi integrasi titik akhir layanan dari konsumen.