Kepatuhan terhadap RFC
Layanan Certificate Authority menggunakan alat ZLint untuk memastikan bahwa sertifikat X.509 valid sesuai dengan aturan RFC 5280. Namun, Layanan CA tidak menerapkan semua persyaratan RFC 5280 dan CA yang dibuat menggunakan Layanan CA dapat menerbitkan sertifikat yang tidak mematuhi persyaratan.
Layanan CA menerapkan persyaratan RFC 5280 berikut.
Bagian RFC 5280 | Klausa lint |
---|---|
4.1.1.2 | signatureAlgorithm di Sertifikat HARUS berisi ID algoritma yang sama dengan kolom 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 adalah 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 panjang dari 20 octet. |
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 UTCTime 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 subjek adalah CA (misalnya, ekstensi batasan dasar, seperti yang dibahas di Bagian 4.2.1.9, ada dan nilai cA adalah BENAR), kolom subjek HARUS diisi dengan nama unik yang tidak kosong yang 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 HANYA boleh muncul jika versinya 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 HANYA BOLEH 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 dari ekstensi authorityKeyIdentifier HARUS disertakan dalam semua sertifikat yang dihasilkan oleh CA yang sesuai untuk memfasilitasi pembuatan jalur sertifikasi. |
4.2.1.1 | CA yang mematuhi HARUS menandai ekstensi authorityKeyIdentifier sebagai non-penting. |
4.2.1.2 | Untuk memfasilitasi pembuatan jalur sertifikasi, authorityKeyIdentifier HARUS muncul di semua sertifikat CA yang sesuai, yaitu semua sertifikat termasuk ekstensi batasan dasar (Bagian 4.2.1.9) dengan nilai cA BENAR. |
4.2.1.2 | CA yang mematuhi HARUS menandai ekstensi ID kunci entitas sebagai tidak penting. |
4.2.1.3 | Jika bit keyCertSign dinyatakan, bit cA dalam ekstensi batasan dasar (Bagian 4.2.1.9) JUGA HARUS dinyatakan. |
4.2.1.3 | Saat ekstensi keyUsage muncul dalam sertifikat, setidaknya salah satu bit HARUS disetel ke 1. |
4.2.1.4 | OID kebijakan sertifikat TIDAK BOLEH muncul lebih dari sekali dalam ekstensi kebijakan sertifikat. |
4.2.1.4 | Jika digunakan dengan kebijakan khusus anyPolicy, penentu HARUS dibatasi pada 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) akan terikat dalam 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 octet. Untuk IP versi 6, seperti yang ditentukan dalam [RFC 2460], string octet HARUS berisi tepat enam belas octet. |
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 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, bukan subscriber@example.com) TIDAK BOLEH digunakan |
4.2.1.6 | Jika ekstensi subjectAltName berisi URI, nama HARUS disimpan di uniformResourceIdentifier (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 skema (mis., "http" atau "ftp") dan bagian khusus skema. |
4.2.1.6 | URI SAN yang menyertakan otoritas ([RFC 3986], Bagian 3.2) HARUS menyertakan nama domain yang sepenuhnya memenuhi syarat atau alamat IP sebagai host. |
4.2.1.6 | Jika ekstensi subjectAltName ada, urutan HARUS berisi minimal satu entri. |
4.2.1.6 | CA yang mematuhi kebijakan 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 mematuhi 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 hanya digunakan dalam sertifikat CA, menunjukkan ruang nama tempat semua nama subjek dalam sertifikat berikutnya di jalur sertifikasi HARUS berada. |
4.2.1.10 | Batasan nama: CA yang mematuhi HARUS menandai ekstensi ini sebagai penting |
4.2.1.10 | CA yang sesuai TIDAK BOLEH menerbitkan sertifikat jika batasan nama adalah urutan kosong. Artinya, kolom permittedSubtrees atau excludedSubtrees HARUS ada. |
4.2.1.10 | Dalam profil ini, kolom minimum dan maksimum tidak digunakan dengan bentuk nama apa pun, sehingga minimum HARUS nol, dan maksimum HARUS tidak ada. |
4.2.1.10 | Sintaksis iPAddress HARUS seperti yang dijelaskan di Bagian 4.2.1.6 dengan penambahan berikut khusus untuk batasan nama: Untuk alamat IPv4, kolom iPAddress dari GeneralName HARUS berisi delapan (8) octet, yang dienkode dalam gaya RFC 4632 (CIDR) untuk mewakili rentang alamat [RFC 4632]. Untuk alamat IPv6, kolom iPAddress HARUS berisi 32 octet yang dienkode dengan cara yang sama. |
4.2.1.11 | CA yang sesuai TIDAK BOLEH menerbitkan sertifikat jika batasan kebijakan adalah urutan kosong. Artinya, kolom inhibitPolicyMapping atau kolom requireExplicitPolicy HARUS ada. |
4.2.1.11 | Batasan Kebijakan: CA yang mematuhi kebijakan HARUS menandai ekstensi ini sebagai penting. |
4.2.1.13 | DistributionPoint TIDAK BOLEH hanya terdiri dari kolom alasan; distributionPoint atau cRLIssuer HARUS ada. |
4.2.1.14 | CA yang mematuhi kebijakan HARUS menandai ekstensi Inhibit anyPolicy ini sebagai kritis. |
4.2.1.15 | Ekstensi CRL Terbaru HARUS ditandai sebagai tidak penting oleh CA yang sesuai. |
4.2.2.1 | CA yang mematuhi kebijakan 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 habis masa berlaku yang ditentukan dengan baik, notAfter HARUS diberi nilai GeneralizedTime 99991231235959Z. |
4.2.1.2 | Untuk membantu aplikasi mengidentifikasi sertifikat entitas akhir yang sesuai, ekstensi ini HARUS disertakan dalam 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 mematuhi kebijakan TIDAK BOLEH menggunakan opsi noticeRef. |
4.2.1.4 | CA yang sesuai HARUS menggunakan encoding UTF8String untuk explicitText, tetapi DAPAT menggunakan IA5String. |
4.2.1.4 | String explicitText TIDAK BOLEH menyertakan karakter kontrol apa pun (misalnya, 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 bentuk normalisasi Unicode C (NFC) |
4.2.1.5 | Setiap issuerDomainPolicy yang dinamai dalam ekstensi pemetaan kebijakan JUGA HARUS dinyatakan dalam ekstensi kebijakan sertifikat dalam sertifikat yang sama. |
4.2.1.5 | CA yang mematuhi kebijakan HARUS menandai ekstensi Pemetaan Kebijakan ini sebagai penting. |
4.2.1.6 | Saat menyertakan ekstensi subjectAltName dalam sertifikat yang memiliki nama yang dibedakan subjek yang tidak kosong, CA yang sesuai 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 BOLEH menerapkan batasan nama pada formulir nama x400Address, ediPartyName, atau registeredID. |
4.2.1.12 | CA yang sesuai TIDAK BOLEH menandai ekstensi ini sebagai penting jika KeyPurposeId anyExtendedKeyUsage ada. |
4.2.1.13 | Ekstensi Titik Distribusi CRL HARUS non-kritis |
4.2.1.13 | Jika ada, DistributionPointName HARUS menyertakan minimal satu URI LDAP atau HTTP. |
4.2.1.13 | CA yang sesuai TIDAK BOLEH menggunakan nameRelativeToCRLIssuer untuk menentukan nama titik distribusi. |
4.2.2.1 | Saat accessMethod id-ad-caIssuers digunakan, setidaknya satu instance HARUS menentukan accessLocation yang merupakan URI HTTP [RFC 2616] atau LDAP [RFC 4516]. |
7,2 | Untuk mengakomodasi nama domain yang diinternasionalisasi dalam struktur saat ini, implementasi yang sesuai HARUS mengonversi nama domain yang diinternasionalisasi ke format ASCII Compatible Encoding (ACE) seperti yang ditentukan dalam Bagian 4 RFC 3490 sebelum penyimpanan di kolom dNSName. |