Kepatuhan terhadap RFC

Certificate Authority Service 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 sesuai.

Layanan CA menerapkan persyaratan RFC 5280 berikut.

Bagian RFC 5280 Klausul lint
4.1.1.2 signatureAlgorithm dalam Sertifikat HARUS berisi ID algoritma yang sama dengan kolom tanda tangan dalam urutan tbsCertificate (Bagian 4.1.2.3).
4.1.2.1 Jika 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 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 Untuk menunjukkan bahwa sertifikat tidak memiliki tanggal habis masa berlaku yang ditentukan dengan baik, notAfter HARUS diberi nilai GeneralizedTime 99991231235959Z.
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 TRUE), maka kolom subjek HARUS diisi dengan nama khusus 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 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 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 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 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 adalah TRUE.
4.2.1.2 CA yang sesuai HARUS menandai ekstensi ID kunci subjek sebagai tidak penting.
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 bit keyCertSign ditegaskan, maka bit cA dalam ekstensi batasan dasar (Bagian 4.2.1.9) juga HARUS ditegaskan.
4.2.1.3 Jika ekstensi keyUsage muncul dalam sertifikat, setidaknya salah satu bit HARUS disetel ke 1.
4.2.1.3 Jika ada, CA yang sesuai HARUS menandai ekstensi Penggunaan Kunci ini sebagai penting.
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.4 CA yang sesuai SEBAIKNYA TIDAK 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 (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 Kebijakan TIDAK BOLEH dipetakan ke atau dari nilai khusus anyPolicy
4.2.1.5 Setiap issuerDomainPolicy yang disebutkan dalam ekstensi pemetaan kebijakan juga HARUS ditegaskan dalam ekstensi kebijakan sertifikat di sertifikat yang sama.
4.2.1.5 CA yang sesuai HARUS menandai ekstensi Pemetaan Kebijakan ini sebagai penting.
4.2.1.6 Setiap kali identitas tersebut (apa pun dalam SAN) akan diikat ke dalam sertifikat, ekstensi nama alternatif subjek (atau nama alternatif penerbit) HARUS digunakan;
4.2.1.6 Jika kolom subjek berisi urutan kosong, maka 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 dalam rfc822Name.
4.2.1.6 Untuk IP versi 4, seperti yang ditentukan dalam [RFC 791], string oktet HARUS berisi tepat empat oktet. Untuk IP versi 6, seperti yang ditentukan dalam [RFC 2460], string oktet HARUS berisi tepat enam belas oktet.
4.2.1.6 Jika ekstensi subjectAltName berisi label sistem nama domain, nama domain HARUS disimpan dalam 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 dalam 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 (misalnya, "http" atau "ftp") dan scheme-specific-part.
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 setidaknya satu entri.
4.2.1.6 CA yang sesuai TIDAK BOLEH menerbitkan sertifikat dengan subjectAltName yang berisi kolom GeneralName kosong.
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 Nama alternatif penerbit HARUS dienkode seperti pada 4.2.1.6
4.2.1.7 Jika ada, CA yang sesuai HARUS menandai ekstensi Nama Alternatif Penerbit ini sebagai non-kritis.
4.2.1.8 Atribut Direktori Subjek: CA yang sesuai HARUS menandai ekstensi ini sebagai tidak penting.
4.2.1.9 Di mana pun 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 ditegaskan dan ekstensi penggunaan kunci menegaskan bit keyCertSign.
4.2.1.10 Ekstensi batasan nama, yang HANYA boleh digunakan dalam sertifikat CA, menunjukkan ruang nama yang di dalamnya semua nama subjek dalam sertifikat berikutnya di jalur sertifikasi HARUS berada.
4.2.1.10 Batasan nama: CA yang sesuai 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 formulir nama apa pun, sehingga nilai minimum HARUS nol, dan nilai maksimum HARUS tidak ada.
4.2.1.10 Sintaksis iPAddress HARUS seperti yang dijelaskan dalam Bagian 4.2.1.6 dengan tambahan berikut khusus untuk batasan nama: Untuk alamat IPv4, kolom iPAddress GeneralName HARUS berisi delapan (8) oktet, yang dienkode dalam gaya RFC 4632 (CIDR) untuk merepresentasikan rentang alamat [RFC 4632]. Untuk alamat IPv6, kolom iPAddress HARUS berisi 32 oktet yang dienkode dengan cara yang sama.
4.2.1.10 TIDAK BOLEH menerapkan batasan nama pada formulir nama x400Address, ediPartyName, atau registeredID.
4.2.1.11 CA yang sesuai TIDAK BOLEH menerbitkan sertifikat jika batasan kebijakan adalah urutan kosong. Artinya, kolom inhibitPolicyMapping atau requireExplicitPolicy HARUS ada.
4.2.1.11 Batasan Kebijakan: CA yang sesuai HARUS menandai ekstensi ini sebagai penting.
4.2.1.12 CA yang sesuai TIDAK BOLEH menandai ekstensi ini sebagai penting jika KeyPurposeId anyExtendedKeyUsage ada.
4.2.1.13 DistributionPoint TIDAK BOLEH hanya terdiri dari kolom alasan; distributionPoint atau cRLIssuer harus ada.
4.2.1.13 Ekstensi Poin Distribusi CRL SEBAIKNYA tidak bersifat penting
4.2.1.13 Jika ada, DistributionPointName HARUS menyertakan setidaknya satu URI LDAP atau HTTP.
4.2.1.13 CA yang sesuai SEBAIKNYA TIDAK menggunakan nameRelativeToCRLIssuer untuk menentukan nama titik distribusi.
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 oleh CA yang sesuai.
4.2.2.1 CA yang sesuai HARUS menandai ekstensi Akses Informasi Otoritas ini sebagai tidak penting.
4.2.2.1 Jika accessMethod id-ad-caIssuers digunakan, setidaknya satu instance HARUS menentukan accessLocation yang merupakan URI HTTP [RFC 2616] atau LDAP [RFC 4516].
4.2.2.2 CA yang sesuai HARUS menandai ekstensi Akses Informasi Subjek ini sebagai non-kritis.
7.2 Untuk mengakomodasi nama domain internasional dalam struktur saat ini, implementasi yang sesuai HARUS mengonversi nama domain internasional ke format ASCII Compatible Encoding (ACE) seperti yang ditentukan dalam Bagian 4 RFC 3490 sebelum disimpan di kolom dNSName.