Bahasa

ClickOnce dan Authenticode

Authenticode adalah teknologi Microsoft yang menggunakan kriptografi standar industri untuk menandatangani kode aplikasi dengan sertifikat digital yang memverifikasi keaslian penerbit aplikasi. Dengan menggunakan Authenticode untuk penyebaran aplikasi, ClickOnce mengurangi risiko kuda Trojan. Trojan adalah virus atau program berbahaya lainnya yang disamarkan oleh pihak ketiga berbahaya sehingga menyerupai program sah yang berasal dari sumber yang mapan dan dapat dipercaya. Menandatangani penyebaran ClickOnce dengan sertifikat digital adalah langkah opsional untuk memverifikasi bahwa rakitan dan file tidak dirusak.

Bagian berikut menjelaskan berbagai jenis sertifikat digital yang digunakan di Authenticode, bagaimana sertifikat divalidasi menggunakan Otoritas Sertifikat (CA), peran stempel waktu dalam sertifikat, dan metode penyimpanan yang tersedia untuk sertifikat.

Authenticode dan penandatanganan kode

Sertifikat digital adalah file yang berisi pasangan kunci publik/privat kriptografi, bersama dengan metadata yang menjelaskan penerbit yang sertifikatnya dikeluarkan dan agensi yang menerbitkan sertifikat.

Ada berbagai jenis sertifikat Authenticode. Masing-masing dikonfigurasi untuk berbagai jenis penandatanganan. Untuk aplikasi ClickOnce, Anda harus memiliki sertifikat Authenticode yang valid untuk penandatanganan kode. Jika Anda mencoba menandatangani aplikasi ClickOnce dengan jenis sertifikat lain, seperti sertifikat email digital, aplikasi tersebut tidak akan berfungsi. Untuk informasi selengkapnya, lihat Pengenalan penandatanganan kode.

Anda dapat memperoleh sertifikat untuk penandatanganan kode dengan salah satu dari tiga cara:

  • Belilah satu dari vendor sertifikat.

  • Terima satu dari grup di organisasi Anda yang bertanggung jawab untuk membuat sertifikat digital.

  • Buat sertifikat Anda sendiri dengan menggunakan cmdlet PowerShell New-SelfSignedCertificate, atau dengan menggunakan MakeCert.exe, yang disertakan dengan Windows Software Development Kit (SDK).

Cara menggunakan otoritas sertifikat membantu pengguna

Sertifikat yang dihasilkan menggunakan New-SelfSignedCertificate atau utilitas MakeCert.exe umumnya disebut sertifikasi mandiri atau sertifikasi pengujian. Sertifikat semacam ini bekerja dengan cara yang sama seperti file .snk bekerja di .NET Framework. Ini hanya terdiri dari pasangan kunci kriptografi publik/privat, dan tidak berisi informasi yang dapat diverifikasi tentang penerbit. Anda dapat menggunakan sertifikasi mandiri untuk menyebarkan aplikasi ClickOnce dengan kepercayaan tinggi pada intranet. Namun, ketika aplikasi ini berjalan di komputer klien, ClickOnce akan mengidentifikasinya sebagai berasal dari Penerbit Yang Tidak Diketahui. Secara default, aplikasi ClickOnce yang ditandatangani dengan sertifikasi mandiri dan disebarkan melalui Internet tidak dapat menggunakan Penyebaran Aplikasi Tepercaya.

Sebaliknya, jika Anda menerima sertifikat dari CA, seperti vendor sertifikat, atau departemen dalam perusahaan Anda, sertifikat menawarkan lebih banyak keamanan untuk pengguna Anda. Ini tidak hanya mengidentifikasi penerbit perangkat lunak yang ditandatangani, tetapi memverifikasi identitas tersebut dengan memeriksa dengan CA yang menandatanganinya. Jika CA bukan otoritas akar, Authenticode juga akan "menautkan" kembali ke otoritas akar untuk memverifikasi bahwa CA berwenang untuk menerbitkan sertifikat. Untuk keamanan yang lebih besar, Anda harus menggunakan sertifikat yang dikeluarkan oleh CA jika memungkinkan.

Untuk informasi selengkapnya tentang membuat sertifikasi mandiri, lihat New-SelfSignedCertificate atau MakeCert.

Tanda waktu

Sertifikat yang digunakan untuk menandatangani aplikasi ClickOnce kedaluwarsa setelah jangka waktu tertentu, biasanya dua belas bulan. Untuk menghapus kebutuhan untuk terus menandatangani ulang aplikasi dengan sertifikat baru, ClickOnce mendukung tanda waktu. Ketika aplikasi ditandatangani dengan tanda waktu, sertifikatnya akan terus diterima bahkan setelah kedaluwarsa, asalkan tanda waktu valid. Ini memungkinkan aplikasi ClickOnce dengan sertifikat yang kedaluwarsa, tetapi tanda waktu yang valid, untuk mengunduh dan menjalankan. Ini juga memungkinkan aplikasi yang diinstal dengan sertifikat kedaluwarsa untuk terus mengunduh dan menginstal pembaruan.

Untuk menyertakan tanda waktu di server aplikasi, server tanda waktu harus tersedia. Untuk informasi tentang cara memilih server tanda waktu, lihat Cara: Menandatangani Manifes Aplikasi dan Penyebaran.

Memperbarui sertifikat yang kedaluwarsa

Dalam versi .NET Framework sebelumnya, memperbarui aplikasi yang sertifikatnya telah kedaluwarsa dapat menyebabkan aplikasi tersebut berhenti berfungsi. Untuk mengatasi masalah ini, gunakan salah satu metode berikut:

  • Perbarui .NET Framework versi 3.5 atau yang lebih baru.

  • Hapus instalan aplikasi, dan instal ulang versi baru dengan sertifikat yang valid.

Menyimpan sertifikat

  • Anda dapat menyimpan sertifikat sebagai file .pfx pada sistem file Anda, atau Anda dapat menyimpannya di dalam kontainer kunci. Pengguna di domain Windows dapat memiliki sejumlah kontainer kunci. Secara default, MakeCert.exe akan menyimpan sertifikat dalam kontainer kunci pribadi Anda, kecuali Anda menentukan bahwa sertifikat harus menyimpannya ke .pfx sebagai gantinya. Mage.exe dan MageUI.exe, alat Windows SDK untuk membuat penyebaran ClickOnce, memungkinkan Anda menggunakan sertifikat yang disimpan dalam salah satu cara.