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.

RSA 2048/3072/4096 · ECDSA P-256/P-384/P-521 · Ed25519 · dibuat oleh Web Crypto di browser Anda, tidak pernah diunggah
Jenis kunci

Pilihan bawaan yang masuk akal: sekuat RSA 3072, tetapi jauh lebih kecil.

Untuk siapa sertifikat iniOpsional untuk sebagian besar sertifikat

Nama hukum organisasi Anda, sesuai pendaftarannya.

Tulis lengkap, jangan disingkat.

Dua huruf, kode ISO 3166-1.

Apa yang dimintaCA publik menetapkan ini dari profilnya sendiri. CA privat mungkin ingin ini diminta.
Penggunaan kunci (key usage)
Penggunaan kunci tambahan (extended key usage)

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.

Kirim iniCertificate signing requestDibuat di browser ini saat Anda menekan tombolnya
Simpan iniKunci privatDibuat di browser ini saat Anda menekan tombolnya

Yang akan Anda kirimECDSA P-256 · SHA-256

ECDSA P-256Dibuat di browser ini saat Anda menekan tombolnya
Apa yang akan dilakukan otoritas sertifikat

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.

Dua file, dibuat bersamaanRFC 2986 · PKCS #8

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-----
  1. Nama subjek108 byteOpsional untuk sebagian besar sertifikat
  2. Kunci publik Anda294 byteSatu-satunya kolom yang pasti dipakai otoritas sertifikat
  3. Nama yang Anda minta60 byteNama alternatif, dibawa sebagai atribut
  4. Tanda tangan261 byteDibuat oleh kunci privat, atas semua yang ada di atasnya

Isinya tidak memuat rahasia

Permintaan sungguhan, 749 byte seluruhnya, di samping kunci yang membuatnya. Hanya permintaan yang perlu meninggalkan komputer Anda: ia memuat separuh publik kunci, dan tanda tangan yang hanya bisa dibuat separuh privatnya.
CSR generator: kolom subjek, nama alternatif, dan certificate signing request yang sudah jadi beserta kuncinyaCSR generator: kolom subjek, nama alternatif, dan certificate signing request yang sudah jadi beserta kuncinyaNamaNama 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.
Sebuah permintaan sedang dibuat: nama, jenis kunci, dan dua file yang dihasilkannya. Pilih sebuah nomor untuk melihat isi setiap bagian.

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.

Tempat kunci privat dibuatCA/Browser Forum TLS BR 2.3.1

Halaman ini

Browser Anda
  1. Web Crypto membuat pasangan kunci crypto.subtle.generateKey
  2. Kunci menandatangani permintaan
  3. Anda menyimpan kedua file
Tidak ada yang melewati garis ini
Server mereka

Kunci hanya pernah ada di komputer Anda

Generator yang membuat kunci di servernya

Browser Anda
  1. Nama dan data Anda dikirim ke server
Kunci privat melewatinya
Server mereka
  1. Server membuat pasangan kunci
  2. 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.”

definisi yang ditulis otoritas sertifikat untuk diri mereka sendiri

Ini sudah pernah terjadiPada 2020 satu otoritas sertifikat menemukan 337 kunci privat dikirim bersama permintaanSetiap sertifikat yang terlibat dicabut

Bedanya bukan pada cara kunci dibuat, melainkan tempatnya. Kunci yang pernah ada di server orang lain sudah memenuhi definisi industri sendiri tentang kunci yang bocor, apa pun yang kemudian dilakukan server itu terhadapnya.

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.

Dari nama ke dua file/csr-generator
  1. Ketik nama

    Setiap host yang harus dicakup sertifikat; yang pertama menjadi Common Name
  2. Pilih jenis kunci

    P-256 kecuali ada perangkat lama yang harus membacanya
  3. Buat permintaan

    Browser Anda membuat kunci dan menandatangani permintaan dengannya
  4. Ambil dua file

    Kirim permintaan ke otoritas sertifikat Anda; simpan kuncinya
Seluruh pekerjaannya, seperti yang dilakukan halaman ini. Semua setelah nama bersifat opsional: sertifikat modern dikenali dari nama alternatifnya, jadi kolom subjek hanya penting untuk pesanan organization-validated.

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.

Kekuatan keamanan, seperti ditabulasikan NISTNIST SP 800-57 Part 1 Rev 5, Table 2
112 bit128 bit192 bit256 bit
RSA20483072768015360
RSA 40964096
ECDSA—P-256P-384P-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

Tidak ada di tabel

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
Bacalah ke samping, bukan ke bawah: P-256 dan kunci RSA 3072 bit berada pada kekuatan yang sama, dan kurva itu mencapainya dengan seperdua belas ukuran kunci. Kunci bisa sesuai aturan dan tetap ditolak oleh otoritas sertifikat yang ingin Anda pakai.

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.

Kolom subjek mana yang berakhir di sertifikatCA/Browser Forum TLS BR 7.1.2.7
Di permintaan AndaDVValidasi domainOVValidasi organisasiEVValidasi 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
Isi hanya yang bisa dimuat sertifikat yang Anda beli: otoritas sertifikat harus memvalidasi setiap kolom subjek yang dipertahankannya, dan generator menandai kolom yang dibuang CA publik.

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 di balik beberapa sertifikatCA/Browser Forum TLS BR 4.9.1.1 · 6.1.1.3

Satu kunci, dipakai ulang

Kunci bocor
  • www.example.com
  • api.example.com
  • mail.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.com
  • api.example.comTidak terpengaruh
  • mail.example.comTidak terpengaruh

1 sertifikat dicabut dalam 24 jam

Memakai ulang kunci diperbolehkan. Biayanya baru muncul saat kunci itu bocor: semua yang memakainya hilang sekaligus, dan kunci itu ditolak sejak saat itu.

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.

Dari permintaan ke sertifikat yang berfungsiRFC 8555 · CA/Browser Forum TLS BR 6.3.2
  1. Komputer AndaAnda mengirim permintaan
  2. Otoritas sertifikatCA memeriksa bahwa Anda menguasai setiap namaRecord DNSFile di server webEmail ke alamat di domain
  3. Otoritas sertifikatCA menandatangani sertifikat dan mengirimkannya kembali
  4. Komputer AndaAnda memasangnya bersama kunciSetelah ini permintaan tidak berguna lagi
Kunci privat tidak pernah berpindah
Berapa lama sertifikat boleh berlaku
  1. 398 hariBerlaku hari ini
  2. 200 harimulai 15 Maret 2026
  3. 100 harimulai 15 Maret 2027
  4. 47 harimulai 15 Maret 2029
Validasi menyangkut nama, bukan file. Sertifikat yang kembali tidak berguna tanpa kunci, dan masa berlaku sependek ini membuat perpanjangan kini harus otomatis.

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.

Satu perintah, flag demi flagOpenSSL 3 · openssl-req(1)

openssl req -new -utf8 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr -sha256 -subj '/CN=example.com' -addext 'subjectAltName=DNS:example.com,DNS:www.example.com'

  1. openssl req -newBuat certificate signing request
  2. -utf8Baca subjek sebagai UTF-8, agar nama beraksen tetap utuh
  3. -newkey…dan pasangan kunci baru bersamanya
  4. -pkeyoptPada kurva P-256
  5. -nodesBiarkan file kunci tidak terenkripsi (OpenSSL 3.0 juga menulisnya -noenc)
  6. -keyoutTempat kunci privat ditulis
  7. -outTempat permintaan ditulis
  8. -sha256Hash yang dipakai untuk menandatangani permintaan
  9. -subjSubjek, agar tidak ada pertanyaan
  10. -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

Perintah yang ditulis halaman ini untuk contoh pertamanya, dibedah. Generator menulis baris yang sama untuk apa pun yang Anda isi, dengan setiap nama dan ekstensi yang dibawa permintaan.

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.

Membuatnya tanpa browserMicrosoft Learn · Apple Support

certreqWindows Server dan IIS

certreq membaca file teks biasa dan menulis permintaancertreq -new request.inf request.req
request.inf
[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 Assistant
  1. Keychain Access
  2. Certificate Assistant
  3. Request a Certificate From a Certificate Authority
Mac Anda menamai menu ini dalam bahasanya sendiri

Let me specify key pair information

Jenis dan ukuran kunci ada di balik kotak centang iniRSA hingga 4096; di bawah 2048 tidak lagi ditawarkan
Kedua cara membuat kunci di komputer Anda sendiri, dan itulah yang penting. Keduanya tidak membuat nama alternatif mudah, itulah sebabnya perintah sering kali cara yang lebih mudah.

Amankah 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.

Panel jaringan, saat kunci dibuatAlat developer › Jaringan

Halaman ini

PermintaanYang dibawanya
GETtlds.jsonDaftar top-level domain — sama untuk setiap pengunjung
GETsuffixes.jsonDaftar public suffix — sama untuk setiap pengunjung

Tidak ada yang Anda ketik, dan tidak ada kunci, yang meninggalkan halaman

Generator yang membuat kunci di servernya

PermintaanYang dibawanya
POST…/generateNama dan data Anda
200-----BEGIN PRIVATE KEY-----Kunci privat, dibuat di tempat lain

Sebuah kunci kembali lewat jaringan: kunci itu sudah ada di tempat lain lebih dulu

Cobalah: buka developer tools browser Anda di tab Network lalu buat sebuah permintaan. Selain kode halaman itu sendiri, ia hanya mengambil dua daftar publik, sama untuk setiap pengunjung; kuncinya dibuat oleh kriptografi bawaan browser Anda, dalam frame yang tidak boleh terhubung ke mana pun.

CSR generator: tanya jawab

Bagaimana cara membuat CSR?

Ketik nama host yang harus dicakup sertifikat, pilih jenis kunci — ECDSA P-256 adalah pilihan bawaan yang masuk akal — lalu tekan tombolnya. Dua file dihasilkan: certificate signing request untuk dikirim ke otoritas sertifikat Anda, dan kunci privat untuk disimpan. Semuanya terjadi di browser Anda, jadi tidak ada yang diunggah dan tidak ada yang disimpan.

Amankah membuat CSR secara online?

Bergantung pada tempat kunci dibuat. Bila halaman membuatnya di servernya sendiri, server itu pernah memegang kunci privat Anda, yang menurut definisi CA/Browser Forum sendiri adalah kebocoran. Bila halaman membuatnya di browser Anda, kunci tidak pernah keluar darinya. Halaman ini melakukan yang kedua, dan Anda bisa memastikannya: buka panel jaringan dan lihat saat Anda membuatnya.

Jenis kunci mana yang sebaiknya saya pilih?

ECDSA P-256 untuk semua yang baru. NIST menilainya sekuat kunci RSA 3072 bit, yaitu 128 bit, dan ukurannya jauh lebih kecil, jadi setiap handshake lebih murah. Pilih RSA 2048 bila appliance atau load balancer lama membutuhkannya. RSA 4096 tidak memberi keuntungan terdokumentasi dibanding 3072, dan Let's Encrypt tidak menerima P-521 meskipun aturan mengizinkannya.

Bisakah kunci Ed25519 dipakai untuk sertifikat publik?

Tidak. Tidak ada otoritas sertifikat publik yang menerbitkan untuknya. Baseline Requirements mendaftar RSA dan kurva P-256, P-384, dan P-521, lalu menambahkan bahwa “no other algorithms or key sizes are permitted”. Ed25519 ditawarkan di sini karena cocok untuk SSH, penandatanganan, dan CA privat — tetapi pesanan TLS publik untuknya akan ditolak.

Untuk apa file kunci privat?

Ia adalah separuh pasangan yang membuktikan sertifikat itu milik Anda, dan tidak pernah diberikan kepada siapa pun. Simpan di samping permintaan; Anda akan membutuhkannya untuk memasang sertifikat yang dikirim kembali CA, dan tanpanya sertifikat tidak berguna. Bila hilang, satu-satunya jalan adalah kunci baru, permintaan baru, dan sertifikat baru.

Apakah saya perlu mengisi organisasi dan negara?

Hanya untuk sertifikat organization-validated atau extended-validation, dan bahkan di situ CA harus memvalidasinya sendiri sebelum dicantumkan di sertifikat. Untuk sertifikat domain-validated, aturan hanya mengizinkan negara dan Common Name di subjek — yang lain tidak boleh ada. Generator menandai dua kolom yang dibuang atau dilarang CA publik: organizational unit dan alamat email.

Mengapa kolom organizational unit memberi peringatan?

Karena 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?

Bisa — itulah gunanya subject alternative name, dan begitulah sertifikat multi-domain atau SAN dipesan. Tambahkan setiap host yang harus dicakup sertifikat, termasuk bentuk 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?

Boleh: aturan menyatakan satu permintaan boleh melayani beberapa sertifikat untuk pemohon yang sama. Alasan untuk tidak melakukannya adalah jangkauan kerusakan. Bila kunci itu pernah bocor, setiap sertifikat yang memakainya harus dicabut dalam 24 jam, dan kunci itu tidak akan pernah bisa disertifikasi lagi oleh CA mana pun yang sudah diberi tahu. Membuat yang baru hanya butuh satu detik.

Apa itu challenge password?

Atribut opsional dari RFC 2985, dimaksudkan sebagai rahasia bersama yang Anda sebutkan saat meminta pencabutan nanti. Atribut ini masih dipakai pendaftaran perangkat SCEP, dan sebagian layanan sertifikat Microsoft memintanya. Ia tidak berperan dalam pemesanan sertifikat web biasa, jadi biarkan kosong kecuali CA Anda secara khusus memintanya.

Apakah ini berfungsi untuk sertifikat wildcard?

Ya. Masukkan *.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?

Kirim permintaan ke otoritas sertifikat Anda dan simpan kunci privat di tempat aman, hanya bisa dibaca oleh Anda (mode 600 di Linux dan macOS). Saat sertifikat kembali, tempel sertifikat dan permintaannya ke CSR decoder untuk memastikan keduanya memakai kunci yang sama sebelum Anda me-restart apa pun — kunci yang tidak cocok dengan sertifikatnya adalah kesalahan yang ingin Anda tangkap sebelum server Anda yang menemukannya.

Ada yang kurang?Usulkan fitur atau alat baru