Cara membuat sertifikat penandatanganan paket aplikasi

Penting

MakeCert.exe tidak digunakan lagi. Untuk panduan saat ini tentang membuat sertifikat, lihat Membuat sertifikat untuk penandatanganan paket.

 

Pelajari cara menggunakan MakeCert.exe dan Pvk2Pfx.exe untuk membuat sertifikat penandatanganan kode pengujian, sehingga Anda dapat menandatangani paket aplikasi Windows Anda.

Anda harus menandatangani aplikasi Windows yang dipaketkan secara digital sebelum menyebarkannya. Jika Anda tidak menggunakan Microsoft Visual Studio 2012 untuk membuat dan menandatangani paket aplikasi, Anda perlu membuat dan mengelola sertifikat penandatanganan kode Anda sendiri. Anda dapat membuat sertifikat dengan menggunakan MakeCert.exe dan Pvk2Pfx.exe dari Windows Driver Kit (WDK). Kemudian Anda dapat menggunakan sertifikat untuk menandatangani paket aplikasi, sehingga dapat disebarkan secara lokal untuk pengujian.

Apa yang perlu Anda ketahui

Teknologi

Prasyarat

Petunjuk

Langkah 1: Tentukan nama penerbit paket

Untuk membuat sertifikat penandatanganan yang Anda buat dapat digunakan dengan paket aplikasi yang ingin Anda tanda tangani, nama subjek sertifikat penandatanganan harus cocok dengan atribut Publisher dari elemen Identitas di AppxManifest.xml untuk aplikasi tersebut. Misalnya, misalkan AppxManifest.xml berisi:

  <Identity Name="Contoso.AssetTracker" 
    Version="1.0.0.0" 
    Publisher="CN=Contoso Software, O=Contoso Corporation, C=US"/>

Untuk parameter publisherName yang Anda tentukan dengan utilitas MakeCert di langkah berikutnya, gunakan "CN=Contoso Software, O=Contoso Corporation, C=US".

Catatan

String parameter ini ditentukan dalam tanda kutip dan peka huruf besar/kecil dan spasi kosong.

 

String atribut Publisher yang ditentukan untuk elemen Identitas dalam AppxManifest.xml harus identik dengan string yang Anda tentukan dengan parameter MakeCert /n untuk nama subjek sertifikat. Salin dan tempel string jika memungkinkan.

Langkah 2: Membuat kunci privat menggunakan MakeCert.exe

Gunakan utilitas MakeCert untuk membuat sertifikat pengujian dan kunci privat yang ditandatangani sendiri:

MakeCert /n publisherName /r /h 0 /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /e 
expirationDate /sv MyKey.pvk MyKey.cer

Perintah ini meminta Anda untuk memberikan kata sandi untuk file .pvk. Kami menyarankan agar Anda memilih kata sandi yang kuat dan menyimpan kunci privat Anda di lokasi yang aman.

Kami menyarankan agar Anda menggunakan parameter yang disarankan dalam contoh sebelumnya karena alasan berikut:

/R

Membuat sertifikat akar yang ditandatangani sendiri. Ini menyederhanakan manajemen untuk sertifikat pengujian Anda.

/h 0

Menandai batasan dasar untuk sertifikat sebagai entitas akhir. Ini mencegah sertifikat digunakan sebagai Otoritas Sertifikasi (CA) yang dapat menerbitkan sertifikat lain.

/eku

Mengatur nilai Enhanced Key Usage (EKU) untuk sertifikat.

Catatan

Jangan letakkan spasi di antara dua nilai yang dibatasi koma.

 

  • 1.3.6.1.5.5.7.3.3 menunjukkan bahwa sertifikat valid untuk penandatanganan kode. Selalu tentukan nilai ini untuk membatasi penggunaan yang dimaksudkan untuk sertifikat.
  • 1.3.6.1.4.1.311.10.3.13 menunjukkan bahwa sertifikat menghormati penandatanganan seumur hidup. Biasanya, jika tanda tangan diberi stempel waktu, selama sertifikat valid pada titik ketika waktu dicap, tanda tangan tetap valid bahkan jika sertifikat kedaluwarsa. EKU ini memaksa tanda tangan kedaluwarsa terlepas dari apakah tanda tangan diberi stempel waktu.

/E

Mengatur tanggal kedaluwarsa sertifikat. Berikan nilai untuk parameter expirationDate dalam format mm/dd/yyyy. Kami menyarankan agar Anda memilih tanggal kedaluwarsa hanya selama yang diperlukan untuk tujuan pengujian Anda, biasanya kurang dari setahun. Tanggal kedaluwarsa ini bersama dengan EKU penandatanganan seumur hidup dapat membantu membatasi jendela di mana sertifikat dapat disusupi dan disalahgunakan.

Untuk informasi selengkapnya tentang opsi lain, lihat MakeCert.

Langkah 3: Buat file Pertukaran Informasi Pribadi (.pfx) menggunakan Pvk2Pfx.exe

Gunakan utilitas Pvk2Pfx untuk mengonversi file .pvk dan .cer yang dibuat MakeCert ke file .pfx yang dapat Anda gunakan dengan SignTool untuk menandatangani paket aplikasi:

Pvk2Pfx /pvk MyKey.pvk /pi pvkPassword /spc MyKey.cer /pfx MyKey.pfx [/po pfxPassword]

File MyKey.pvk dan MyKey.cer adalah file yang sama dengan yang MakeCert.exe buat di langkah sebelumnya. Dengan menggunakan parameter /po opsional, Anda dapat menentukan kata sandi yang berbeda untuk .pfx yang dihasilkan; jika tidak, .pfx memiliki kata sandi yang sama dengan MyKey.pvk.

Untuk informasi selengkapnya tentang opsi lain, lihat Pvk2Pfx.

Keterangan

Setelah membuat file .pfx, Anda dapat menggunakan file dengan SignTool untuk menandatangani paket aplikasi. Untuk informasi selengkapnya, lihat Cara menandatangani paket aplikasi menggunakan SignTool. Tetapi sertifikat masih belum dipercaya oleh komputer lokal untuk penyebaran paket aplikasi sampai Anda menginstalnya ke penyimpanan sertifikat tepercaya komputer lokal. Anda dapat menggunakan Certutil.exe, yang dilengkapi dengan Windows.

Untuk menginstal sertifikat dengan WindowsCertutil.exe

  1. Jalankan Cmd.exe sebagai administrator.

  2. Jalankan perintah ini:

    Certutil -addStore TrustedPeople MyKey.cer
    

Kami menyarankan agar Anda menghapus sertifikat jika tidak lagi digunakan. Dari perintah administrator yang sama, jalankan perintah ini:

Certutil -delStore TrustedPeople certID

CertID adalah nomor seri sertifikat. Jalankan perintah ini untuk menentukan nomor seri sertifikat:

Certutil -store TrustedPeople

Pertimbangan Keamanan

Dengan menambahkan sertifikat ke penyimpanan sertifikat komputer lokal, Anda memengaruhi kepercayaan sertifikat semua pengguna di komputer. Kami menyarankan agar Anda menginstal sertifikat penandatanganan kode apa pun yang Anda inginkan untuk menguji paket aplikasi ke penyimpanan sertifikat Orang Tepercaya. Segera hapus sertifikat tersebut ketika tidak lagi diperlukan, untuk mencegah sertifikat tersebut digunakan untuk membahayakan kepercayaan sistem.

Sampel

Membuat sampel paket aplikasi

Konsep

Praktik Terbaik Penandatanganan Kode

Cara menandatangani paket aplikasi menggunakan SignTool

Menandatangani paket aplikasi