Bagikan melalui


Perpanjangan Otoritas Sertifikasi

Layanan Sertifikat mendukung perpanjangan otoritas sertifikasi (CA). Perpanjangan adalah penerbitan sertifikat baru bagi CA untuk memperpanjang masa pakai CA melebihi tanggal akhir sertifikat aslinya. Anda dapat memperbarui CA sebagai tugas dalam snap-in MMC Otoritas Sertifikat atau dengan menggunakan alat Certutil.exe (dengan perintah -renewCert ).

Setiap perpanjangan menghasilkan sertifikat OS baru; namun, administrator dapat menghasilkan pasangan kunci publik/privat baru atau menggunakan kembali pasangan kunci publik/privat yang ada untuk sertifikat CA. Untuk konsistensi dan integritas, sertifikat CA dan daftar pencabutan sertifikat (CRL) yang dikeluarkan oleh CA sebelum perpanjangannya akan tersedia setelah CA diperpanjang. Untuk membuatnya tersedia, Layanan Sertifikat mempertahankan indeks sertifikat CA, CRL, dan kunci.

Indeks dan nama akhiran sertifikat CA dan CRL selama berbagai operasi perpanjangan CA adalah sebagai berikut.

Operasi Indeks sertifikat CA Akhiran nama file sertifikat CA CRL dan indeks kunci Akhiran nama kontainer CRL dan kunci
Penginstalan CA asli 0 "" 0 ""
Perpanjangan dengan kunci baru 1 "(1)" 1 "(1)"
Kunci penggunaan kembali perpanjangan 2 "(2)" 1 "(1)"
Kunci penggunaan kembali perpanjangan 3 "(3)" 1 "(1)"
Perpanjangan dengan kunci baru 4 "(4)" 4 "(4)"
Kunci penggunaan kembali perpanjangan 5 "(5)" 4 "(4)"
Perpanjangan dengan kunci baru 6 "(6)" 6 "(6)"
Kunci penggunaan kembali perpanjangan 7 "(7)" 6 "(6)"

 

Ketika CA diinstal, indeks sertifikat adalah nol dan akhiran sertifikat adalah "" (string kosong). Setiap kali sertifikat diperbarui (apakah kunci digunakan kembali atau tidak), indeks sertifikat bertambah satu, dan akhiran nama file sertifikat menjadi string formulir "(n)", di mana n mewakili berapa kali sertifikat CA telah diperpanjang. Setelah perpanjangan pertama, indeks sertifikat adalah 1 dan akhiran nama file sertifikat adalah "(1)". Setelah perpanjangan kedua, indeks sertifikat adalah 2 dan akhiran nama file sertifikat adalah "(2)", dan sebagainya.

Meskipun indeks sertifikat CA dan akhiran bertambah satu per satu setiap kali CA diperpanjang, indeks CRL dan kunci dan akhiran nama file diatur ke indeks sertifikat CA hanya jika proses perpanjangan menyertakan pasangan kunci publik/privat baru. Jika tidak, nilai indeks dan akhiran ini tetap sama seperti untuk indeks terakhir. Selama perpanjangan, administrator menentukan apakah pasangan kunci baru dihasilkan atau pasangan kunci yang ada digunakan. (Dalam snap-in MMC Otoritas Sertifikat, opsi di antarmuka pengguna menentukan pasangan kunci baru atau yang sudah ada; di alat Certutil.exe, perintah certutil -renewCert memperbarui CA dengan pasangan kunci baru, sementara perintah certutil -renewCert ReuseKeys memperbarui CA dengan pasangan kunci yang ada.)

Indeks CRL secara langsung terkait dengan indeks kunci, yang diatur ke indeks sertifikat CA hanya ketika pasangan kunci baru digunakan untuk perpanjangan. Setelah perpanjangan pertama (yang menggunakan pasangan kunci baru), indeks CRL dan kunci diatur ke 1, dan akhiran nama kontainer CRL dan kunci adalah "(1)". Namun, setelah perpanjangan kedua, indeks CRL dan kunci tetap 1, dan akhiran CRL dan nama kontainer kunci juga tetap "(1)"; ini karena pembaruan kedua menggunakan pasangan kunci yang ada dan hanya satu CRL yang dikeluarkan untuk setiap pasangan kunci CA.

Anda dapat mengambil sertifikat CA dan CRL terindeks dengan memanggil metode GetCertificateProperty (di antarmuka ICertServerExit dan ICertServerPolicy ). Saat Anda mengambil properti tertentu yang terkait dengan sertifikat CA atau CRL, Anda dapat menambahkan indeks berbasis nol sertifikat CA ke nama properti. Misalnya, untuk mengambil indeks CRL yang sesuai dengan sertifikat ketiga CA, teruskan properti "CRLIndex.2" ke ICertServerPolicy::GetCertificateProperty; untuk tabel, nilai properti "CRLIndex.2" yang diambil adalah 1. Properti yang disebut "CertCount" dapat digunakan untuk menentukan berapa kali CA telah mengeluarkan sertifikat CA.

Sertifikat CA dan CRL berisi ekstensi yang menyediakan informasi tentang sertifikat dan indeks kunci. Ekstensi ini didefinisikan dalam Wincrypt.h sebagai szOID_CERTSRV_CA_VERSION dengan nilai "1.3.6.1.4.1.311.21.1". Data ekstensi adalah nilai DWORD (dikodekan sebagai X509_INTEGER dalam ekstensi); 16 bit rendah adalah indeks sertifikat, dan 16 bit tinggi adalah indeks kunci.

Penginstalan awal CA menghasilkan indeks sertifikat nol dan indeks kunci nol. Perpanjangan sertifikat CA akan menyebabkan indeks sertifikat dinaikkan. Jika kunci digunakan kembali dalam perpanjangan, indeks kunci akan sama dengan indeks kunci sebelumnya. Jika kunci tidak digunakan kembali, indeks kunci akan cocok dengan indeks sertifikat baru.

ICertServerPolicy::GetCertificateProperty

ICertServerExit::GetCertificateProperty