Bagikan melalui


Penganut sertifikat

Artikel ini membahas penggunaan sertifikat di aplikasi Platform Windows Universal (UWP). Sertifikat digital digunakan dalam kriptografi kunci publik untuk mengikat kunci publik ke seseorang, komputer, atau organisasi. Identitas terikat paling sering digunakan untuk mengautentikasi satu entitas ke entitas lain. Misalnya, sertifikat sering digunakan untuk mengautentikasi server web kepada pengguna dan pengguna ke server web. Anda dapat membuat permintaan sertifikat dan menginstal atau mengimpor sertifikat yang dikeluarkan. Anda juga dapat mendaftarkan sertifikat dalam hierarki sertifikat.

Penyimpanan sertifikat bersama

Aplikasi UWP menggunakan model aplikasi isolasionis baru yang diperkenalkan di Windows 8. Dalam model ini, aplikasi berjalan dalam konstruksi sistem operasi tingkat rendah, yang disebut kontainer aplikasi, yang melarang aplikasi mengakses sumber daya atau file di luar dirinya sendiri kecuali secara eksplisit diizinkan untuk melakukannya. Bagian berikut menjelaskan implikasi yang dimilikinya pada infrastruktur kunci publik (PKI).

Penyimpanan sertifikat per kontainer aplikasi

Sertifikat yang dimaksudkan untuk digunakan dalam kontainer aplikasi tertentu disimpan di per pengguna, per lokasi kontainer aplikasi. Aplikasi yang berjalan di kontainer aplikasi hanya memiliki akses tulis ke penyimpanan sertifikatnya sendiri. Jika aplikasi menambahkan sertifikat ke salah satu penyimpanannya, sertifikat ini tidak dapat dibaca oleh aplikasi lain. Jika aplikasi dihapus instalannya, sertifikat apa pun khusus untuk aplikasi tersebut juga akan dihapus. Aplikasi juga memiliki akses baca ke penyimpanan sertifikat komputer lokal selain penyimpanan MY dan REQUEST.

Cache

Setiap kontainer aplikasi memiliki cache terisolasi di mana ia dapat menyimpan sertifikat penerbit yang diperlukan untuk validasi, daftar pencabutan sertifikat (CRL), dan respons protokol status sertifikat online (OCSP).

Sertifikat dan kunci bersama

Ketika kartu pintar dimasukkan ke pembaca, sertifikat dan kunci yang terkandung pada kartu disebarkan ke penyimpanan SAYA pengguna di mana mereka dapat dibagikan oleh aplikasi kepercayaan penuh apa pun yang dijalankan pengguna. Namun, secara default, kontainer aplikasi tidak memiliki akses ke penyimpanan MY per pengguna.

Untuk mengatasi masalah ini dan memungkinkan grup prinsipal untuk mengakses grup sumber daya, model isolasi kontainer aplikasi mendukung konsep kemampuan. Kemampuan memungkinkan proses kontainer aplikasi untuk mengakses sumber daya tertentu. Kemampuan sharedUserCertificates memberikan akses baca kontainer aplikasi ke sertifikat dan kunci yang terkandung dalam penyimpanan MY pengguna dan penyimpanan Akar Tepercaya Kartu Pintar. Kemampuan tidak memberikan akses baca ke penyimpanan REQUEST pengguna.

Anda menentukan kemampuan sharedUserCertificates dalam manifes seperti yang ditunjukkan dalam contoh berikut.

<Capabilities>
    <Capability Name="sharedUserCertificates" />
</Capabilities>

Bidang sertifikat

Standar sertifikat kunci publik X.509 telah direvisi dari waktu ke waktu. Setiap versi berturut-turut dari struktur data telah mempertahankan bidang yang ada di versi sebelumnya dan menambahkan lebih banyak, seperti yang ditunjukkan dalam ilustrasi berikut.

sertifikat x.509 versi 1, 2, dan 3

Beberapa bidang dan ekstensi ini dapat ditentukan secara langsung saat Anda menggunakan kelas CertificateRequestProperties untuk membuat permintaan sertifikat. Sebagian besar tidak bisa. Bidang ini dapat diisi oleh otoritas penerbit atau dapat dibiarkan kosong. Untuk informasi selengkapnya tentang bidang, lihat bagian berikut ini:

Bidang versi 1

Bidang Deskripsi
Versi Menentukan nomor versi sertifikat yang dikodekan. Saat ini, nilai yang mungkin dari bidang ini adalah 0, 1, atau 2.
Nomor Seri Berisi bilangan bulat positif dan unik yang ditetapkan oleh otoritas sertifikasi (CA) ke sertifikat.
Algoritma Tanda Tangan Berisi pengidentifikasi objek (OID) yang menentukan algoritma yang digunakan oleh CA untuk menandatangani sertifikat. Misalnya, 1.2.840.113549.1.1.5 menentukan algoritma hash SHA-1 yang dikombinasikan dengan algoritma enkripsi RSA dari Laboratorium RSA.
Penerbit Berisi nama khusus (DN) X.500 dari CA yang dibuat dan ditandatangani sertifikat.
Validitas Menentukan interval waktu di mana sertifikat valid. Tanggal hingga akhir 2049 menggunakan format Waktu Universal Terkoordinasi (Greenwich Mean Time) (yymmddhhmmssz). Tanggal dimulai dengan 1 Januari 2050 menggunakan format waktu umum (yyyymmddhhmmssz).
Subjek Berisi nama khusus X.500 dari entitas yang terkait dengan kunci publik yang terkandung dalam sertifikat.
Kunci Umum Berisi kunci publik dan informasi algoritma terkait.

Bidang versi 2

Sertifikat X.509 versi 2 berisi bidang dasar yang ditentukan dalam versi 1 dan menambahkan bidang berikut.

Bidang Deskripsi
Pengenal Unik Pengeluar Sertifikat Berisi nilai unik yang dapat digunakan untuk membuat nama X.500 CA tidak ambigu saat digunakan kembali oleh entitas yang berbeda dari waktu ke waktu.
Pengidentifikasi Unik Subjek Berisi nilai unik yang dapat digunakan untuk membuat nama X.500 subjek sertifikat tidak ambigu saat digunakan kembali oleh entitas yang berbeda dari waktu ke waktu.

Ekstensi versi 3

Sertifikat X.509 versi 3 berisi bidang yang ditentukan dalam versi 1 dan versi 2 dan menambahkan ekstensi sertifikat.

Bidang Deskripsi
Pengidentifikasi Kunci Otoritas Mengidentifikasi kunci umum otoritas sertifikasi (CA) yang sesuai dengan kunci privat CA yang digunakan untuk menandatangani sertifikat.
Batasan Dasar Menentukan apakah entitas dapat digunakan sebagai CA dan, jika demikian, jumlah CA subordinat yang dapat ada di bawahnya dalam rantai sertifikat.
Kebijakan Sertifikat Menentukan kebijakan di mana sertifikat telah diterbitkan dan tujuannya dapat digunakan.
Titik Distribusi CRL Berisi URI daftar pencabutan sertifikat dasar (CRL).
Penggunaan Kunci yang Ditingkatkan Menentukan cara kunci publik yang terkandung dalam sertifikat dapat digunakan.
Nama Alternatif Penerbit Menentukan satu atau beberapa formulir nama alternatif untuk penerbit permintaan sertifikat.
Penggunaan Kunci Menentukan batasan pada operasi yang dapat dilakukan oleh kunci publik yang terkandung dalam sertifikat.
Batasan Nama Menentukan namespace di mana semua nama subjek dalam hierarki sertifikat harus berada. Ekstensi hanya digunakan dalam sertifikat CA.
Batasan Kebijakan Membatasi validasi jalur dengan melarang pemetaan kebijakan atau dengan mengharuskan setiap sertifikat dalam hierarki berisi pengidentifikasi kebijakan yang dapat diterima. Ekstensi hanya digunakan dalam sertifikat CA.
Pemetaan Kebijakan Menentukan kebijakan dalam CA subordinat yang sesuai dengan kebijakan dalam CA penerbitan.
Periode Penggunaan Kunci Privat Menentukan periode validitas yang berbeda untuk kunci privat daripada untuk sertifikat yang terkait dengan kunci privat.
Nama Alternatif Subjek Menentukan satu atau beberapa formulir nama alternatif untuk subjek permintaan sertifikat. Contoh formulir alternatif termasuk alamat email, nama DNS, alamat IP, dan URI.
Atribut Direktori Subjek Menyampaikan atribut identifikasi seperti kewarganegaraan subjek sertifikat. Nilai ekstensi adalah urutan pasangan nilai OID.
Pengidentifikasi Kunci Subjek Membedakan antara beberapa kunci publik yang dipegang oleh subjek sertifikat. Nilai ekstensi biasanya merupakan hash SHA-1 dari kunci.