Kepatuhan RFC

Certificate Authority Service menggunakan alat ZLint untuk memastikan bahwa sertifikat X.509 valid sesuai dengan aturan RFC 5280. Namun, CA Service tidak menerapkan semua persyaratan RFC 5280 dan mungkin saja bagi CA yang dibuat menggunakan CA Service untuk menerbitkan sertifikat yang tidak mematuhi kebijakan.

CA Service memberlakukan persyaratan RFC 5280 berikut.

Bagian RFC 5280 Klausa Lint
4.1.1.2 SignatureAlgorithm pada Certificate HARUS berisi pengidentifikasi algoritma yang sama dengan bidang tanda tangan dalam urutan tbsCertificate (Bagian 4.1.2.3).
4.1.2.1 Saat ekstensi digunakan, seperti yang diharapkan dalam profil ini, versi HARUS 3 (nilainya 2).
4.1.2.2 Nomor seri HARUS berupa bilangan bulat positif yang ditetapkan oleh CA untuk setiap sertifikat.
4.1.2.2 CA yang sesuai TIDAK BOLEH menggunakan nilai serialNumber yang lebih dari 20 oktet.
4.1.2.4 Kolom penerbit HARUS berisi Nama yang Dibedakan (DN) yang tidak kosong.
4.1.2.5 CA yang sesuai dengan profil ini HARUS selalu mengenkode tanggal validitas sertifikat hingga tahun 2049 sebagai UTCTime
4.1.2.5.1 Nilai UTCWaktu HARUS dinyatakan dalam Waktu Greenwich (Zulu)
4.1.2.5.1 Nilai UTCTime HARUS menyertakan detik
4.1.2.5.2 Nilai GeneralizedTime HARUS dinyatakan dalam Waktu Greenwich (Zulu)
4.1.2.5.2 GeneralizedTime HARUS menyertakan detik
4.1.2.5.2 Nilai GeneralizedTime TIDAK BOLEH menyertakan detik pecahan
4.1.2.6 Jika subjeknya adalah CA (misalnya, ekstensi batasan dasar, seperti yang dibahas dalam Bagian 4.2.1.9, dan nilai cA adalah TRUE), maka kolom subjek HARUS diisi dengan nama yang dibedakan yang tidak kosong dan cocok dengan konten kolom penerbit (Bagian 4.1.2.4) di semua sertifikat yang diterbitkan oleh CA subjek.
4.1.2.8 Kolom ID unik HARUS hanya muncul jika versinya adalah 2 atau 3
4.1.2.8 CA yang sesuai dengan profil ini TIDAK BOLEH membuat sertifikat dengan ID unik.
4.1.2.9 Kolom ekstensi HARUS hanya muncul jika versinya adalah 3
4.2 Sertifikat TIDAK BOLEH menyertakan lebih dari satu instance ekstensi tertentu.
4.2 Jika CA menerbitkan sertifikat dengan urutan kosong untuk kolom subjek, CA HARUS mendukung ekstensi nama alternatif subjek
4.2.1.1 Kolom keyIdentifier pada ekstensi authorityKeyIdentifier HARUS disertakan di semua sertifikat yang dibuat oleh CA yang sesuai untuk memfasilitasi pembuatan jalur sertifikasi.
4.2.1.1 CA yang sesuai HARUS menandai ekstensi authorityKeyIdentifier sebagai tidak penting.
4.2.1.2 Untuk memfasilitasi konstruksi jalur sertifikasi, authorityKeyIdentifier HARUS muncul di semua sertifikat CA yang sesuai, yaitu, semua sertifikat termasuk ekstensi batasan dasar (Bagian 4.2.1.9) di mana nilai cA adalah TRUE.
4.2.1.2 CA yang sesuai HARUS menandai ekstensi ID kunci subjek sebagai tidak penting.
4.2.1.3 Jika bit keyCertSign dinyatakan, maka bit cA dalam ekstensi batasan dasar (Bagian 4.2.1.9) HARUS juga dinyatakan.
4.2.1.3 Saat ekstensi keyUsage muncul dalam sertifikat, setidaknya satu bit HARUS ditetapkan ke 1.
4.2.1.4 OID kebijakan sertifikat TIDAK BOLEH muncul lebih dari sekali dalam ekstensi kebijakan sertifikat.
4.2.1.4 Jika penentu digunakan dengan kebijakan khusus anyPolicy, penentu HARUS dibatasi untuk penentu yang diidentifikasi di bagian ini.
4.2.1.5 Kebijakan TIDAK BOLEH dipetakan ke atau dari nilai khusus anyPolicy
4.2.1.6 Setiap kali identitas tersebut (apa pun di SAN) harus terikat dengan sertifikat, ekstensi nama alternatif subjek (atau nama alternatif penerbit) HARUS digunakan;
4.2.1.6 Jika kolom subjek berisi urutan kosong, CA penerbit HARUS menyertakan ekstensi subjectAltName yang ditandai sebagai penting.
4.2.1.6 Jika ekstensi subjectAltName berisi alamat email Internet, alamat tersebut HARUS disimpan di rfc822Name.
4.2.1.6 Untuk IP versi 4, seperti yang ditentukan dalam [RFC 791], string octet HARUS berisi tepat empat oktet. Untuk IP versi 6, seperti yang ditentukan dalam [RFC 2460], string octet HARUS berisi tepat enam belas oktet.
4.2.1.6 Jika ekstensi subjectAltName berisi label sistem nama domain, nama domain HARUS disimpan di dNSName (IA5String).
4.2.1.6 SAN: dNSName HARUS ada dalam "sintaksis nama pilihan"
4.2.1.6 Ekstensi subjectAltName dengan dNSName " " TIDAK BOLEH digunakan
4.2.1.6 penggunaan representasi DNS untuk alamat email Internet (subscriber.example.com dan bukan subscriber@example.com) TIDAK BOLEH digunakan
4.2.1.6 Jika ekstensi subjectAltName berisi URI, nama HARUS disimpan dalam composableResourceIdentifier (IA5String).
4.2.1.6 URI SAN: Nama TIDAK BOLEH berupa URI relatif, dan HARUS mengikuti sintaksis URI dan aturan encoding yang ditentukan dalam [RFC 3986].
4.2.1.6 URI SAN: Nama HARUS menyertakan kedua skema (mis., "http" atau "ftp") dan suatu bagian khusus skema.
4.2.1.6 URI SAN yang menyertakan otoritas ([RFC 3986], Bagian 3.2) HARUS menyertakan nama domain atau alamat IP yang sepenuhnya memenuhi syarat sebagai host.
4.2.1.6 Jika ada ekstensi subjectAltName, urutan HARUS berisi minimal satu entri.
4.2.1.6 CA yang sesuai TIDAK BOLEH menerbitkan sertifikat dengan subjectAltNames yang berisi kolom GeneralName kosong.
4.2.1.7 Nama alternatif penerbit HARUS dienkode seperti dalam 4.2.1.6
4.2.1.8 Atribut Direktori Subjek: CA yang sesuai HARUS menandai ekstensi ini sebagai tidak penting.
4.2.1.9 Jika muncul, kolom pathLenConstraint HARUS lebih besar dari atau sama dengan nol.
4.2.1.9 CA yang sesuai HARUS menyertakan ekstensi ini di semua sertifikat CA yang berisi kunci publik yang digunakan untuk memvalidasi tanda tangan digital pada sertifikat dan HARUS menandai ekstensi sebagai penting dalam sertifikat tersebut.
4.2.1.9 CA TIDAK BOLEH menyertakan kolom pathLenConstraint kecuali jika boolean cA dinyatakan dan ekstensi penggunaan kunci menyatakan bit keyCertSign.
4.2.1.10 Ekstensi batasan nama, yang HARUS digunakan hanya dalam sertifikat CA, menunjukkan ruang nama tempat semua nama subjek dalam sertifikat berikutnya pada jalur sertifikasi HARUS berada.
4.2.1.10 Batasan nama: menyesuaikan CA HARUS menandai ekstensi ini sebagai penting
4.2.1.10 CA yang sesuai TIDAK BOLEH menerbitkan sertifikat jika batasan nama berupa urutan kosong. Artinya, kolom allowedSubtrees atau excludedSubtrees HARUS ada.
4.2.1.10 Dalam profil ini, kolom minimum dan maksimum tidak digunakan dengan formulir nama apa pun. Oleh karena itu, kolom minimum HARUS nol, dan maksimum HARUS tidak ada.
4.2.1.10 Sintaks iPAddress HARUS seperti yang dijelaskan dalam Bagian 4.2.1.6 dengan tambahan berikut khusus untuk batasan nama: Untuk alamat IPv4, bidang iPAddress dari GeneralName HARUS berisi delapan (8) oktet, dienkode dengan gaya RFC 4632 (CIDR) untuk mewakili rentang alamat [RFC 4632]. Untuk alamat IPv6, kolom iPAddress HARUS berisi 32 oktet yang dienkodekan dengan cara yang sama.
4.2.1.11 CA yang sesuai TIDAK BOLEH menerbitkan sertifikat jika batasan kebijakan berupa urutan kosong. Artinya, kolom inhibitPolicyMapping atau kolomRequire Profiler HARUS ada.
4.2.1.11 Batasan Kebijakan: CA yang sesuai HARUS menandai ekstensi ini sebagai penting.
4.2.1.13 DistributionPoint TIDAK BOLEH terdiri dari kolom alasan saja; distributionPoint atau cRLPenerbit HARUS ada.
4.2.1.14 CA yang sesuai HARUS menandai ekstensi Inhibit anyPolicy ini sebagai penting.
4.2.1.15 Ekstensi CRL Terbaru HARUS ditandai sebagai tidak penting dengan mematuhi CA.
4.2.2.1 CA yang sesuai HARUS menandai ekstensi Akses Informasi Otoritas ini sebagai tidak penting.
4.2.2.2 CA yang sesuai HARUS menandai ekstensi Akses Informasi Subjek ini sebagai tidak penting.
4.1.2.5 Untuk menunjukkan bahwa sertifikat tidak memiliki tanggal kedaluwarsa yang terdefinisi dengan baik, notAfter HARUS diberi nilai GeneralizedTime 99991231235959Z.
4.2.1.2 Untuk membantu aplikasi dalam mengidentifikasi sertifikat entitas akhir yang sesuai, ekstensi ini HARUS disertakan di semua sertifikat entitas akhir
4.2.1.3 Jika ada, CA yang sesuai HARUS menandai ekstensi Penggunaan Kunci ini sebagai penting.
4.2.1.4 CA yang sesuai TIDAK BOLEH menggunakan opsi NotificationRef.
4.2.1.4 CA yang sesuai HARUS menggunakan encoding UTF8String untuk authenticationText, tetapi MUNGKIN menggunakan IA5String.
4.2.1.4 String sensitiveText TIDAK BOLEH menyertakan karakter kontrol apa pun (mis., U+0000 hingga U+001F dan U+007F hingga U+009F).
4.2.1.4 Saat encoding UTF8String digunakan, semua urutan karakter HARUS dinormalisasi sesuai dengan normalisasi Unicode bentuk C (NFC)
4.2.1.5 Setiap penerbitDomainPolicy yang disebutkan di ekstensi pemetaan kebijakan HARUS dinyatakan dalam ekstensi kebijakan sertifikat dalam sertifikat yang sama.
4.2.1.5 CA yang sesuai HARUS menandai ekstensi Pemetaan Kebijakan ini sebagai penting.
4.2.1.6 Saat menyertakan ekstensi subjectAltName dalam sertifikat yang memiliki nama subjek yang tidak kosong, CA HARUS menandai ekstensi subjectAltName sebagai tidak penting.
4.2.1.7 Jika ada, CA yang sesuai HARUS menandai ekstensi Nama Alternatif Penerbit ini sebagai tidak penting.
4.2.1.10 TIDAK HARUS menerapkan batasan nama pada formulir nama x400Address, ediPartyName, atau terdaftar ID.
4.2.1.12 CA yang sesuai TIDAK BOLEH menandai ekstensi ini sebagai penting jika anyExtendedKeyUsage KeyDestinationId ada.
4.2.1.13 Ekstensi Poin Distribusi CRL SEHARUSNYA tidak penting
4.2.1.13 Jika ada, DistributionPointName HARUS menyertakan setidaknya satu LDAP atau URI HTTP.
4.2.1.13 CA yang sesuai TIDAK BOLEH menggunakan nameRelativeToCRLPenerbit untuk menentukan nama titik distribusi.
4.2.2.1 Saat id-ad-caPublishers accessMethod digunakan, setidaknya satu instance HARUS menentukan accessLocation yang merupakan URI HTTP [RFC 2616] atau LDAP [RFC 4516].
7.2 Untuk mengakomodasi nama domain yang diinternasionalisasikan dalam struktur saat ini, implementasi yang sesuai HARUS mengonversi nama domain yang diinternasionalkan ke format ASCII Compatible Encoding (ACE) seperti yang ditentukan dalam Bagian 4 dari RFC 3490 sebelum disimpan di bidang dNSName.