Bagikan melalui


Menandatangani paket dengan Azure Key Vault

Di Visual Studio 2022, versi 17.8 Pratinjau 2 dan yang lebih baru, Anda dapat menandatangani paket aplikasi UWP dan desktop dengan sertifikat dari Azure Key Vault. Alat ini mengirimkan hash paket aplikasi Anda ke Azure Key Vault untuk penandatanganan kriptografi dengan sertifikat yang Anda pilih. Hash yang ditandatangani kemudian dikembalikan dan dilampirkan ke paket Anda secara lokal.

Penting

Proses ini aman. Kunci privat sertifikat tidak pernah meninggalkan Azure Key Vault.

Prasyarat

  • Akun Azure. Jika Anda belum memiliki akun Azure, mulai di sini.
  • Azure Key Vault. Untuk informasi selengkapnya, lihat Membuat Key Vault.
  • Sertifikat penandatanganan paket yang valid yang diimpor ke Azure Key Vault. Sertifikat default yang dihasilkan oleh Azure Key Vault tidak akan berfungsi untuk penandatanganan kode. Untuk detail tentang cara membuat sertifikat penandatanganan paket, lihat Membuat sertifikat untuk penandatanganan paket.

Mengimpor sertifikat ke Key Vault Anda

Menambahkan sertifikat ke Key Vault Anda sangat sederhana. Dalam contoh ini, kami menambahkan sertifikat penandatanganan kode UWP yang valid yang disebut UwpSigningCert.pfx.

  1. Pada halaman properti Key Vault, pilih Sertifikat.
  2. Klik Buat/Impor.
  3. Pada layar Buat sertifikat, pilih nilai berikut ini:
    • Metode Pembuatan Sertifikat: Impor
    • Nama Sertifikat: UwpSigningCert
    • Unggah File Sertifikat: UwpSigningCert.pfx
    • Dekripsi Sertifikat: Jika sertifikat Anda dilindungi kata sandi, berikan di bidang Kata Sandi .
  4. Klik Buat.

Catatan

Sertifikat yang ditandatangani sendiri ini tidak akan dipercaya oleh Windows kecuali telah diimpor dan dipercaya oleh administrator. Jaga keamanan semua sertifikat Anda termasuk sertifikat yang ditandatangani sendiri.

Mengonfigurasi kebijakan akses untuk Key Vault Anda

Anda dapat mengontrol siapa yang memiliki akses ke konten Key Vault Anda dengan menggunakan kebijakan akses. Kebijakan akses Key Vault memberikan izin secara terpisah ke kunci, rahasia, dan sertifikat. Anda hanya dapat memberikan akses pengguna ke kunci dan bukan rahasia. Izin akses untuk kunci, rahasia, dan sertifikat dikelola di tingkat vault. Untuk informasi selengkapnya, lihat Keamanan Azure Key Vault.

Catatan

Saat Anda membuat Key Vault dalam langganan Azure, Key Vault secara otomatis dikaitkan dengan penyewa Azure Active Directory langganan. Siapa pun yang mencoba mengelola atau mengambil konten dari Key Vault harus diautentikasi oleh Microsoft Azure AD.

  1. Pada halaman properti Key Vault, pilih Kebijakan akses.
  2. Pilih + Tambahkan Kebijakan Akses.
  3. Klik menu dropdown Izin Sertifikat dan centang kotak untuk Dapatkan dan Daftar di bawah Operasi Manajemen Sertifikat.
  4. Klik menu dropdown Izin Rahasia dan centang kotak untuk Dapatkan dan Daftar di bawah Operasi Manajemen Rahasia.
  5. Klik Pilih Prinsipal, cari pengguna yang Anda beri akses, dan klik Pilih.
  6. Klik Tambahkan.
  7. Pastikan untuk menyimpan perubahan Anda dengan mengklik Simpan.

Catatan

Memberi pengguna akses langsung ke brankas kunci tidak disarankan. Idealnya, pengguna harus ditambahkan ke grup Microsoft Azure AD, yang pada gilirannya diberi akses ke brankas kunci.

Pilih sertifikat dari Key Vault Anda di Visual Studio

Wizard Buat Paket Aplikasi di Visual Studio memungkinkan Anda memilih sertifikat yang akan digunakan untuk menandatangani paket aplikasi Anda. Anda dapat memilih sertifikat penandatanganan paket melalui Azure Key Vault. Anda harus memberikan URI Key Vault yang berisi sertifikat, dan akun Microsoft Anda yang diautentikasi di Visual Studio harus memiliki izin yang benar untuk mengaksesnya.

  1. Buka proyek aplikasi UWP atau proyek pengemasan aplikasi Windows desktop Anda di Visual Studio.
  2. Pilih Terbitkan ->Paket ->Buat paket aplikasi... untuk membuka wizard Buat Paket Aplikasi.
  3. Pada halaman Pilih metode distribusi, pilih Sideloading.
  4. Pada halaman Pilih metode penandatanganan, klik Pilih dari Azure Key Vault....
  5. Setelah dialog Pilih sertifikat dari Azure Key Vault muncul, gunakan pemilih akun untuk memilih akun yang telah Anda konfigurasikan kebijakan aksesnya.
  6. Masukkan URI Key Vault. URI dapat ditemukan di halaman Gambaran Umum Key Vault dan diidentifikasi dengan Nama DNS.
  7. Klik tombol Tampilkan Metadata .
  8. Setelah sertifikat selesai dimuat, pilih sertifikat yang Anda inginkan dari daftar (misalnya, UwpSigningCert).
  9. Klik OK.

Mendekripsi sertifikat Anda dengan kata sandi dari Azure Key Vault

Jika Anda menggunakan sertifikat yang dilindungi kata sandi lokal (.pfx) untuk menandatangani paket aplikasi Anda, mungkin sulit untuk mengelola kata sandi yang digunakan untuk mendekripsinya. Saat Anda mengimpor sertifikat di wizard Buat Paket Aplikasi, Anda akan diminta untuk memasukkan kata sandi secara manual. Atau, ada opsi untuk memilih kata sandi dari Azure Key Vault.

  1. Buka proyek aplikasi UWP atau proyek pengemasan aplikasi Windows desktop Anda di Visual Studio.
  2. Pilih Terbitkan ->Paket ->Buat paket aplikasi... untuk membuka wizard Buat Paket Aplikasi.
  3. Pada halaman Pilih metode distribusi, pilih Sideloading.
  4. Pada halaman Pilih metode penandatanganan, klik Pilih Dari File...
  5. Setelah dialog Sertifikat dilindungi kata sandi muncul, klik Pilih Kata Sandi Dari Key Vault.
  6. Setelah dialog Pilih kata sandi dari Azure Key Vault muncul, gunakan pemilih akun untuk memilih akun yang telah Anda konfigurasikan kebijakan aksesnya.
  7. Masukkan URI Key Vault. URI dapat ditemukan di halaman Gambaran Umum Key Vault dan diidentifikasi dengan Nama DNS.
  8. Klik tombol Tampilkan Metadata .
  9. Setelah kata sandi selesai dimuat, pilih kata sandi yang Anda inginkan dari daftar (misalnya, UwpSigningCertPassword).
  10. Klik OK.

Mengaktifkan skenario MASUK CI/CD

Untuk mengaktifkan skenario CI/CD masuk, Anda perlu mengonfigurasi alur Anda untuk menggunakan DefaultAzureCredential untuk mengautentikasi dengan Azure Key Vault. DefaultAzureCredential akan mencoba menggunakan identitas agen alur untuk mengakses Key Vault, jika memiliki izin yang sesuai. Atau, Anda dapat menentukan perwakilan layanan atau identitas terkelola yang akan digunakan untuk autentikasi.