CSR Generator
Buat certificate signing request beserta kunci privat pasangannya, langsung di halaman ini. Pasangan kunci dibuat oleh Web Crypto di browser Anda dan tidak pernah meninggalkan komputer Anda: tidak ada yang Anda ketik dan tidak ada kunci yang dikirim ke server kami atau server siapa pun.
Satu per baris. Yang pertama juga menjadi Common Name.
Pilihan bawaan yang masuk akal: sekuat RSA 3072, tetapi jauh lebih kecil.
Nama hukum organisasi Anda, sesuai pendaftarannya.
Tulis lengkap, jangan disingkat.
Dua huruf, kode ISO 3166-1.
Dua huruf, kode ISO 3166-1.
Apa yang dimintaCA publik menetapkan ini dari profilnya sendiri. CA privat mungkin ingin ini diminta.
Hanya bila CA Anda memintanya. Pendaftaran SCEP memakainya; pemesanan sertifikat web tidak.
Pasangan kunci dibuat oleh browser Anda dan tidak pernah dikirim ke mana pun.
Yang akan Anda kirimECDSA P-256 · SHA-256
Ketik sebuah nama atau coba contoh, dan kolom ini menunjukkan apa yang akan dilakukan otoritas sertifikat terhadap permintaan itu — sebelum dibuat.
Pasangan kunci dibuat oleh Web Crypto di browser Anda, dalam frame yang tidak bisa terhubung ke mana pun, dan tidak pernah dikirim. Buka panel jaringan dan lihat sendiri.
Apa itu CSR generator?
Alat ini membuat dua file: certificate signing request (CSR) untuk dikirim ke otoritas sertifikat, dan kunci privat yang tetap pada Anda. Permintaan itu memuat kunci publik Anda dan nama yang ingin Anda sertifikasi, ditandatangani oleh kunci privat.
Formatnya PKCS#10, tertulis di RFC 2986. Di dalam permintaan ada nama subjek, kunci publik Anda, sekumpulan atribut yang membawa nama alternatif, dan tanda tangan yang dibuat dengan kunci privat Anda atas semuanya. Tanda tangan sendiri itu adalah bukti kepemilikan: ia menunjukkan bahwa pengirim memegang kunci yang akan dipakai untuk menerbitkan sertifikat.
Kedua file itu tidak bisa saling menggantikan. Permintaan memang untuk dikirim — ke CA, di tiket dukungan, ke mana saja. Kunci privat tidak boleh, kapan pun. Di halaman ini kunci dibuat dan disimpan di browser Anda. Anda tetap harus memercayai kode halamannya, seperti pada alat web mana pun, tetapi Anda bisa memeriksa apa yang dikirimnya: buka panel jaringan dan lihat sendiri saat Anda membuatnya.
Kunci privatSimpan ini
-----BEGIN PRIVATE KEY------ Separuh privatMenandatangani permintaan sekarang, dan setiap koneksi ke server Anda nanti
- Separuh publiknyaDisalin ke dalam permintaan
Satu salinan, di komputer Anda
Certificate signing requestKirim ini
-----BEGIN CERTIFICATE REQUEST------ Nama subjek108 byteOpsional untuk sebagian besar sertifikat
- Kunci publik Anda294 byteSatu-satunya kolom yang pasti dipakai otoritas sertifikat
- Nama yang Anda minta60 byteNama alternatif, dibawa sebagai atribut
- Tanda tangan261 byteDibuat oleh kunci privat, atas semua yang ada di atasnya
Isinya tidak memuat rahasia

NamaNama host yang harus dicakup sertifikat. Yang pertama menjadi Common Name; sisanya menyusul.KunciRSA atau kurva eliptik. Pasangan kunci dibuat oleh browser Anda, di depan mata Anda.Siapa AndaKolom subjek. CA publik memvalidasinya sendiri, jadi hanya sedikit yang bertahan.Dua filePermintaan untuk dikirim, dan kunci privat untuk disimpan. Kunci itu hanya ada di browser Anda sampai Anda menyimpannya.Hal yang sama, sebagai perintahPerintah OpenSSL yang membuat persis permintaan ini, bila Anda lebih suka mengerjakannya sendiri.Mengapa membuat kunci di browser Anda?
Karena kunci privat yang sampai ke server orang lain memenuhi definisi industri sendiri tentang kunci yang telah bocor (compromised) — apa pun yang kemudian dilakukan server itu terhadapnya.
Baseline Requirements dari CA/Browser Forum mendefinisikannya tanpa ruang untuk berdebat: “A Private Key is said to be compromised if its value has been disclosed to an unauthorized person, or an unauthorized person has had access to it.” Tidak perlu penyalahgunaan. Sampai ke tangan orang lain saja sudah cukup.
Ini bukan teori. Pada 2020 DigiCert menemukan 337 kunci privat yang ditempelkan pelanggan bersama permintaan mereka, mencabut setiap sertifikat yang terlibat, dan melaporkannya secara terbuka: “by sending the private key to DigiCert along with the CSR, the customer has compromised the private key”, ditambah “the only part of a CSR we use is the public key”. Generator yang membuat kunci di servernya sendiri lalu memberi Anda salinannya, menurut definisi itu, sudah membuat kuncinya bocor. Halaman ini tidak mungkin melakukannya: crypto.subtle.generateKey berjalan di browser Anda, dalam frame ber-sandbox yang tidak boleh terhubung ke mana pun, dan halaman di sekelilingnya hanya pernah melihat kunci publik.
Halaman ini
- Web Crypto membuat pasangan kunci
crypto.subtle.generateKey - Kunci menandatangani permintaan
- Anda menyimpan kedua file
Kunci hanya pernah ada di komputer Anda
Generator yang membuat kunci di servernya
- Nama dan data Anda dikirim ke server
- Server membuat pasangan kunci
- Kunci privat dikirim kembali kepada Anda
Bocor menurut definisi, sebelum apa pun dipasang
“Kunci privat dinyatakan bocor bila nilainya telah diungkapkan kepada orang yang tidak berwenang, atau orang yang tidak berwenang pernah mengaksesnya.”
Ini sudah pernah terjadiPada 2020 satu otoritas sertifikat menemukan 337 kunci privat dikirim bersama permintaanSetiap sertifikat yang terlibat dicabut
Cara membuat CSR
Ketik nama host, pilih jenis kunci, lalu tekan tombolnya. Sisanya opsional — sertifikat modern dikenali dari nama alternatifnya, bukan dari subjeknya.
Masukkan setiap nama yang harus dicakup sertifikat ke kolom nama: example.com, www.example.com, wildcard seperti *.api.example.com, atau sebuah alamat IP. Yang pertama juga menjadi Common Name: bila sertifikat punya Common Name, Baseline Requirements mensyaratkan ia mengulang persis salah satu nama alternatif.
Negara, organisasi, dan kota hanya penting untuk sertifikat organization-validated atau extended-validation, dan bahkan di situ CA harus memvalidasinya sendiri sebelum dicantumkan di sertifikat. Untuk sertifikat domain-validated — jenis yang diterbitkan Let's Encrypt — satu-satunya kolom subjek yang diizinkan aturan adalah negara dan Common Name. Generator ini menandai dua kolom yang dibuang atau dilarang CA publik, organizational unit dan alamat email, dan kolom di samping formulir menunjukkan apa yang akan berubah.
Ketik nama
Setiap host yang harus dicakup sertifikat; yang pertama menjadi Common NamePilih jenis kunci
P-256 kecuali ada perangkat lama yang harus membacanyaBuat permintaan
Browser Anda membuat kunci dan menandatangani permintaan dengannyaAmbil dua file
Kirim permintaan ke otoritas sertifikat Anda; simpan kuncinya
Jenis kunci mana yang sebaiknya dipilih?
ECDSA P-256 untuk semua yang baru: sekuat kunci RSA 3072 bit, jauh lebih kecil, dan diizinkan oleh aturan yang diikuti setiap otoritas sertifikat publik. RSA 2048 bila perangkat lama harus membaca kuncinya.
NIST menempatkan P-256 dan RSA-3072 pada kekuatan keamanan 128 bit yang sama, dan sama sekali tidak memberi RSA-4096 kekuatan tersendiri — langkah berikutnya di tabelnya adalah 7680 bit. Jadi 4096 membebani setiap pengunjung dengan kerja handshake ekstra tanpa keuntungan terdokumentasi. P-384 adalah langkah 192 bit, dan Baseline Requirements mengizinkan P-521 juga, tetapi Let's Encrypt menolak P-521: sebuah permintaan bisa sah sepenuhnya dan tetap gagal di CA yang ingin Anda pakai.
Ed25519 ditawarkan di sini karena sangat baik untuk SSH, penandatanganan, dan CA privat — tetapi tidak ada otoritas sertifikat publik yang akan menerbitkan sertifikat TLS untuknya. Aturannya mendaftar RSA dan tiga kurva NIST lalu menyatakan “no other algorithms or key sizes are permitted”. Hal yang sama berlaku untuk ML-DSA pasca-kuantum: ballot yang akan mengizinkannya di TLS publik ditutup tanpa digabungkan pada Oktober 2026. Generator ini menyebutkannya di samping setiap pilihan, bukan membiarkan Anda mengetahuinya dari email penolakan.
| 112 bit | 128 bit | 192 bit | 256 bit | |
|---|---|---|---|---|
| RSA | 2048 | 3072 | 7680 | 15360 |
| RSA 4096 | 4096 | |||
| ECDSA | — | P-256 | P-384 | P-521 |
4096 bit: tidak ada langkah tersendiri Tabel melompat dari satu ukuran langsung ke berikutnya, jadi kerja handshake ekstra tidak membeli apa pun yang tertulis
Ed25519Tidak ada otoritas sertifikat publik yang menerbitkan untuknya
ML-DSAPasca-kuantum: ballot yang akan mengizinkannya ditutup tanpa digabungkan pada Oktober 2026
- Kekuatan yang sama
- Ditawarkan di sini
- Ada di tabel, tidak ditawarkan di sini
- Diterima olehLet's Encrypt
Apa yang diisi di setiap kolom
Nama: setiap host yang dicakup sertifikat. Negara: dua huruf. Organisasi: nama hukum Anda, untuk sertifikat OV atau EV. Semua yang lain opsional, dan sebagian kini dilarang.
Organizational unit dilarang. Berdasarkan ballot SC047 CA/Browser Forum, tidak ada sertifikat TLS publik yang diterbitkan sejak 1 September 2022 yang boleh memuat OU; CA membuangnya, bukan menolak pesanan. Alamat email di subjek juga tidak diizinkan pada sertifikat domain-validated, dan tidak dianjurkan di yang lain. Generator ini tetap menawarkan kedua kolom itu, untuk CA privat, dan menandainya.
Negara adalah kode ISO 3166-1 alpha-2 — US, DE, GB, IN — bukan nama negara, dan bukan tiga huruf. Provinsi atau negara bagian sebaiknya ditulis lengkap, bukan disingkat. Untuk sertifikat extended-validation Anda juga butuh yurisdiksi tempat badan usaha didirikan dan nomor registrasinya, yang ditawarkan generator ini.
| Di permintaan Anda | DVValidasi domain | OVValidasi organisasi | EVValidasi diperluas |
|---|---|---|---|
Common NameCN | |||
NegaraC | |||
OrganisasiO | |||
Kota, provinsi atau negara bagianL, ST | |||
Jalan, kode posstreet, postalCode | |||
Organizational unitOUDilarang sejak 1 September 2022 | |||
Alamat emailemailAddress | |||
Nomor registrasi, kategori bisnis, yurisdiksiserialNumber, businessCategory, jurisdictionC |
- Ada di sertifikat, sesuai yang divalidasi CA
- Diizinkan, tetapi tidak dianjurkan
- Tidak ada di jenis sertifikat ini
- Tidak pernah diizinkan
Bolehkah kunci atau CSR dipakai ulang?
Boleh — tidak ada yang melarang — tetapi kunci baru untuk setiap sertifikat hanya butuh satu detik dan membatasi jangkauan satu kunci yang bocor.
Baseline Requirements tegas bahwa “one certificate request MAY suffice for multiple Certificates to be issued to the same Applicant”, jadi memakai ulang permintaan untuk perpanjangan diperbolehkan. Biayanya muncul ketika ada yang salah. Bila kunci itu pernah bocor, setiap sertifikat yang memakainya harus dicabut dalam 24 jam, bukan hanya yang Anda khawatirkan.
Dan kunci yang bocor hangus selamanya: CA “SHALL reject a certificate request” bila telah diberi tahu bahwa kunci itu pernah bocor, jadi kunci itu tidak akan pernah bisa disertifikasi lagi oleh CA mana pun yang sudah tahu. Dengan masa berlaku sertifikat turun menjadi 47 hari pada 2029, kunci yang dipakai ulang akan menandatangani selama bertahun-tahun lewat puluhan perpanjangan. Membuat yang baru hanya butuh satu detik.
Satu kunci, dipakai ulang
www.example.comapi.example.commail.example.com
3 sertifikat dicabut dalam 24 jam
Dan kunci itu tidak akan pernah bisa disertifikasi lagi oleh CA yang sudah diberi tahu
Kunci baru untuk masing-masing
www.example.comapi.example.comTidak terpengaruhmail.example.comTidak terpengaruh
1 sertifikat dicabut dalam 24 jam
Apa yang terjadi setelah CSR dikirim
CA memvalidasi nama, mengabaikan sebagian besar sisanya, dan mengirim kembali sertifikat. Simpan kunci privatnya — sertifikat tidak bisa dipasang tanpanya.
Validasi menyangkut nama, bukan file: record DNS, file di server web, atau email ke alamat di domain itu. Setelah lolos, sertifikat dikirim kembali dan permintaan tidak berguna lagi — ia tidak dibutuhkan untuk memasang, memperpanjang, atau mencabut apa pun. Yang harus Anda simpan adalah kunci privat, karena sertifikat tidak berguna tanpanya. Tempel sertifikat ke CSR decoder dan tambahkan kunci privat di sampingnya untuk memastikan keduanya cocok sebelum Anda me-restart apa pun.
Masa berlaku sertifikat akan pendek. Sertifikat TLS publik yang diterbitkan hari ini tidak boleh lebih dari 200 hari, turun menjadi 100 pada 15 Maret 2027 dan 47 pada 15 Maret 2029. Pada masa berlaku sependek itu perpanjangan harus otomatis, artinya ACME — dan klien ACME membuat permintaan untuk Anda, jadi halaman ini untuk kasus yang tidak bisa ditangani klien: sebuah perangkat, sebuah appliance, CA yang meminta permintaan secara manual.
- Komputer AndaAnda mengirim permintaan
- Otoritas sertifikatCA memeriksa bahwa Anda menguasai setiap namaRecord DNSFile di server webEmail ke alamat di domain
- Otoritas sertifikatCA menandatangani sertifikat dan mengirimkannya kembali
- Komputer AndaAnda memasangnya bersama kunciSetelah ini permintaan tidak berguna lagi
- 398 hariBerlaku hari ini
- 200 harimulai 15 Maret 2026
- 100 harimulai 15 Maret 2027
- 47 harimulai 15 Maret 2029
Hal yang sama dengan OpenSSL
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr membuat kunci dan permintaan dalam satu langkah.
Generator menuliskan perintah untuk apa pun yang Anda isi, termasuk nama alternatif dan setiap ekstensi, dan tes kami menjalankannya lewat OpenSSL untuk memastikan perintah itu membuat subjek dan ekstensi yang sama dengan halaman ini. Tambahkan -subj "/CN=example.com" agar tidak ada pertanyaan, -addext "subjectAltName=DNS:example.com,DNS:www.example.com" untuk nama, dan -utf8 agar nama beraksen tetap utuh. -nodes membiarkan kunci tidak terenkripsi: OpenSSL 3 lebih suka penulisan baru -noenc tetapi masih menerima -nodes, satu-satunya penulisan yang dikenal LibreSSL bawaan macOS. LibreSSL itu sama sekali tidak bisa membuat kunci Ed25519; pakai OpenSSL 1.1.1 atau lebih baru untuk itu.
Untuk memeriksa hasilnya: openssl req -in example.com.csr -text -verify -noout mencetak setiap kolom dan memverifikasi tanda tangan sendiri, berhenti sebelum mencetak apa pun bila tanda tangannya gagal. Untuk memastikan kunci milik permintaan itu, bandingkan openssl req -in example.com.csr -pubkey -noout dengan openssl pkey -in example.com.key -pubout. Tidak ada standar yang menetapkan ekstensi file untuk CSR, jadi .csr, .pem, .req, dan .txt semuanya benar.
1openssl req -new 2-utf8 3-newkey ec 4-pkeyopt ec_paramgen_curve:prime256v1 5-nodes 6-keyout example.com.key 7-out example.com.csr 8-sha256 9-subj '/CN=example.com' 10-addext 'subjectAltName=DNS:example.com,DNS:www.example.com'
openssl req -newBuat certificate signing request-utf8Baca subjek sebagai UTF-8, agar nama beraksen tetap utuh-newkey…dan pasangan kunci baru bersamanya-pkeyoptPada kurva P-256-nodesBiarkan file kunci tidak terenkripsi (OpenSSL 3.0 juga menulisnya -noenc)-keyoutTempat kunci privat ditulis-outTempat permintaan ditulis-sha256Hash yang dipakai untuk menandatangani permintaan-subjSubjek, agar tidak ada pertanyaan-addextNama alternatif
Baca kembali dan verifikasi tanda tangan sendirinyaopenssl req -in example.com.csr -text -verify -noout
Apakah kunci milik permintaan ini? Kedua keluarannya harus identikopenssl req -in example.com.csr -pubkey -nooutopenssl pkey -in example.com.key -pubout
Membuat CSR di Windows, IIS, dan macOS
Windows punya certreq dan file .inf; macOS punya Keychain Access. Keduanya punya jebakan yang perlu diketahui sebelum mulai.
Di Windows, certreq -new request.inf request.req membaca file yang bagian [NewRequest]-nya menetapkan subjek dan panjang kunci, dan nama alternatifnya ada di [Extensions] dengan OID 2.5.29.17 beserta baris _continue_ — tidak ada kunci SAN=, kesalahan yang mudah terjadi. Halaman referensi resmi Microsoft memuat peringatan bahwa contohnya memakai SHA-1, dan Let's Encrypt menolak permintaan bertanda tangan SHA-1, jadi tetapkan hash-nya sendiri.
Di Mac, Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority menuliskannya; jenis dan ukuran kunci ada di balik kotak centang "Let me specify key pair information", dan kunci RSA di bawah 2048 bit tidak lagi ditawarkan. Kedua cara itu tidak membuat nama alternatif mudah, itulah sebabnya perintah sering kali cara yang lebih mudah.
certreqWindows Server dan IIS
certreq membaca file teks biasa dan menulis permintaancertreq -new request.inf request.req[NewRequest]Subject = "CN=example.com"KeyAlgorithm = RSAKeyLength = 2048HashAlgorithm = sha256RequestType = PKCS10[Extensions]2.5.29.17 = "{text}"_continue_ = "DNS=example.com&"_continue_ = "DNS=www.example.com"Nama alternatif: ekstensi yang disebut dengan OID-nya, satu nama per baris
Tetapkan hash sendiri: contoh Microsoft sendiri ditulis dengan SHA-1, yang ditolak otoritas sertifikat
Tidak ada kunci SAN=Keychain AccessmacOS
Keychain Access menulisnya dari Certificate AssistantMac Anda menamai menu ini dalam bahasanya sendiriLet me specify key pair information
Jenis dan ukuran kunci ada di balik kotak centang iniRSA hingga 4096; di bawah 2048 tidak lagi ditawarkanAmankah CSR generator online?
Semuanya bergantung pada tempat kunci dibuat. Halaman yang membuatnya di browser Anda aman; halaman yang membuatnya di servernya pernah memegang kunci privat Anda.
Ujinya sederhana dan bisa Anda jalankan sendiri: buka panel jaringan browser, buat sebuah permintaan, dan lihat. Bila kunci dibuat di halaman, tidak ada yang Anda ketik maupun kunci yang keluar: di sini satu-satunya permintaan adalah untuk halaman itu sendiri dan dua daftar nama publik, sama untuk setiap pengunjung. Bila ada permintaan keluar dan kunci kembali, kunci itu sudah ada di tempat lain lebih dulu, dan menurut definisi industri sendiri ia sudah bocor sebelum Anda sempat memasangnya.
Halaman ini mengerjakan semuanya di browser: pasangan kunci berasal dari crypto.subtle.generateKey di dalam frame ber-sandbox yang tidak boleh terhubung ke mana pun, halaman menulis permintaan di sekeliling kunci publik, dan frame menandatanganinya sekali dengan kunci privat, yang tidak pernah keluar darinya. Kedua file muncul di browser Anda dan tidak di tempat lain. Bila Anda tidak mau memercayakan ini kepada halaman web mana pun, perintah OpenSSL di halaman ini melakukan hal yang sama di komputer Anda sendiri — kami menampilkannya justru karena alasan itu.
Halaman ini
tlds.jsonDaftar top-level domain — sama untuk setiap pengunjungsuffixes.jsonDaftar public suffix — sama untuk setiap pengunjungTidak ada yang Anda ketik, dan tidak ada kunci, yang meninggalkan halaman
Generator yang membuat kunci di servernya
…/generateNama dan data Anda-----BEGIN PRIVATE KEY-----Kunci privat, dibuat di tempat lainSebuah kunci kembali lewat jaringan: kunci itu sudah ada di tempat lain lebih dulu
CSR generator: tanya jawab
Bagaimana cara membuat CSR?
Amankah membuat CSR secara online?
Jenis kunci mana yang sebaiknya saya pilih?
Bisakah kunci Ed25519 dipakai untuk sertifikat publik?
Untuk apa file kunci privat?
Apakah saya perlu mengisi organisasi dan negara?
Mengapa kolom organizational unit memberi peringatan?
OU dilarang di sertifikat TLS publik. Berdasarkan ballot SC047 CA/Browser Forum, tidak ada sertifikat TLS publik yang diterbitkan sejak 1 September 2022 yang boleh memuatnya, jadi otoritas sertifikat membuangnya dari pesanan, bukan menolaknya. Generator ini tetap menawarkan kolom itu, untuk CA privat, dan memberi tahu apa yang akan dilakukan CA publik.Bisakah saya memasukkan lebih dari satu domain dalam CSR?
www bila Anda menginginkannya. Anda bisa mencampur wildcard dan nama biasa, dan menambahkan alamat IP, meskipun tidak semua CA menjual sertifikat untuk sebuah alamat.Bisakah CSR atau kunci dipakai ulang untuk sertifikat berikutnya?
Apa itu challenge password?
Apakah ini berfungsi untuk sertifikat wildcard?
*.example.com ke kolom nama, dan tambahkan juga example.com bila Anda ingin domain tanpa subdomain tercakup — wildcard menggantikan tepat satu label dan tidak cocok dengan nama tempat ia bernaung. Tanda bintang harus menjadi seluruh label paling kiri, dan tidak ada CA yang akan menerbitkan wildcard di atas public suffix seperti *.co.uk.Apa yang saya lakukan dengan file-nya setelah itu?
Ada yang kurang?Usulkan fitur atau alat baru
Alat terkait
Decoder CSR & Sertifikat
Decode CSR atau sertifikat SSL: subject, SAN, ukuran kunci, masa berlaku, penerbit, fingerprint, cek tanda tangan, dan kecocokan CSR dengan sertifikat
Pemeriksaan Sertifikat SSL
Verifikasi validitas sertifikat SSL dan detail keamanan
DKIM Record Generator
Buat pasangan kunci DKIM di browser Anda dan dapatkan record TXT selector._domainkey untuk dipublikasikan
Pembuat Kata Sandi
Buat kata sandi acak yang kuat, frasa sandi, dan PIN di browser Anda, lengkap dengan bit dan waktu pembobolan
Cek Kesehatan DNS
Beri nilai DNS domain: delegasi, nameserver, SOA, DNSSEC, email, 40 pengecekan
Generator UUID
Buat UUID v4, v7, v1, v5, dan v3 atau GUID secara massal dalam format apa pun, dan decode versi serta timestamp sebuah UUID
