Dekoder CSR

Sebelum sebuah Otoritas Sertifikat menandatangani sertifikat TLS, Anda menyerahkan Certificate Signing Request (CSR), yaitu blok base64 yang berisi subjek yang Anda inginkan pada sertifikat dan kunci publik Anda, ditambah tanda tangan yang membuktikan bahwa Anda memegang kunci pribadi yang cocok. Dekoder ini menerima CSR berenkode PEM dan menampilkan kolom subjek serta parameter kunci publiknya, sehingga Anda dapat memeriksa nama umum, organisasi, dan ukuran kunci sebelum menyerahkannya ke CA.

Cara mendekode CSR

  1. 1

    Tempel CSR

    Sertakan penanda `-----BEGIN CERTIFICATE REQUEST-----` dan `-----END CERTIFICATE REQUEST-----`. Spasi kosong dimaklumi.

  2. 2

    Jalankan dekoder

    Permintaan diurai dan kolom subjek serta kunci publiknya dibaca.

  3. 3

    Periksa keluarannya

    Periksa kolom subjek seperti nama umum dan organisasi, serta algoritma dan ukuran kunci.

  4. 4

    Tindak lanjuti hasilnya

    Jika subjek atau kuncinya tampak salah, buat ulang CSR sebelum menyerahkannya ke CA.

Apa yang ditampilkan dekoder

CSR adalah struktur ASN.1 (PKCS #10). Dekoder membaca dua hal darinya:

  • Subjek: kolom Nama Terhormat (Distinguished Name) yang diminta, biasanya negara (C), organisasi (O), unit organisasi (OU), lokalitas (L), provinsi (ST), dan nama umum (CN).
  • Kunci publik: algoritma (RSA, EC, DSA) dan ukuran kunci dalam bit.

Tanda tangan di dalam CSR adalah yang membuktikan kepada CA bahwa pengirim memegang kunci pribadi yang cocok. Dekoder ini tidak menampilkannya; CA yang memverifikasinya saat memproses permintaan.

Contoh keluaran

Untuk permintaan sertifikat domain yang umum, keluarannya terlihat seperti ini:

Subject: commonName=www.example.com, organizationName=Example Inc., countryName=US
Key bits: 2048
Key type: RSA

Nama atribut yang tepat pada subjek bergantung pada cara permintaan dibuat.

Bidang untuk pemeriksaan ulang

  • Nama Umum (CN): harus merupakan nama host utama. Browser modern mengabaikan nilai CN dan hanya memeriksa informasi SAN, namun banyak CA masih menuntut adanya nilai CN yang valid.
  • Nama Alternatif Subjek (SANs): daftarkan semua nama host dan simbol wildcard yang akan dilindungi oleh sertifikat tersebut. Peramban membandingkan data berdasarkan SANs, bukan berdasarkan CN.
  • Negara (C): Kode ISO berupa dua huruf (US, GB, DE), bukan nama lengkap. CA menolak kode yang salah.
  • Ukuran kunci: RSA 2048 merupakan ukuran minimum yang dianjurkan; untuk keamanan lebih tinggi, gunakan 3072 atau 4096 bit. ECDSA P-256 merupakan alternatif modern yang baik dan menghasilkan sertifikat dengan ukuran yang lebih kecil.
  • Algoritma penandatanganan: SHA-256 atau yang lebih baik. SHA-1 telah lama tidak digunakan lagi dan akan ditolak.

Tentang Nama Alternatif Subjek (SAN)

Dekoder menampilkan subjek permintaan, tetapi bukan ekstensi SAN. Browser mencocokkan sertifikat berdasarkan SAN, bukan berdasarkan CN; jika sertifikat perlu mencakup nama host tambahan, sertakan saat membuat permintaan, misalnya:

openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Saat dekoder tidak dapat mengurai CSR

Penyebab paling umum adalah blok PEM yang terpotong atau rusak:

  • Teks terpotong: tempel kembali blok lengkap beserta kedua penandanya.
  • Ada pemisah baris tambahan: tempel blok persis seperti saat dibuat.
  • Isi yang salah: kunci publik, sertifikat, atau kunci pribadi yang tertempel karena keliru tidak akan diurai sebagai CSR.

Membuat kunci yang sesuai

CSR selalu dihasilkan bersamaan dengan kunci pribadi. Perintah umumnya adalah:

openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr

Atau untuk ECDSA:

openssl req -new -newkey ec:<(openssl ecparam -name prime256v1) -nodes -keyout example.key -out example.csr

Lindungi kunci privat; jika kunci tersebut bocor, sertifikat harus dicabut.

Pertanyaan yang Sering Diajukan

CSR hanya berisi informasi publik (kunci publik, subjek, dan SAN), ditambah dengan tanda tangan; oleh karena itu dapat dibagikan secara aman kepada CA atau dilekatkan ke dalam decoder. Yang harus tetap dirahasiakan adalah kunci pribadi yang sesuai.

Tidak. Dekoder ini mengharapkan bentuk teks PEM dengan penanda BEGIN/END CERTIFICATE REQUEST. Untuk permintaan DER biner, ubah dulu ke PEM, misalnya dengan openssl req -in request.der -inform DER -out request.pem.

Tidak. Sebagian besar CA publik (seperti Let’s Encrypt, DigiCert, dan Sectigo) hanya memerlukan informasi CN dan SAN; mereka mengabaikan elemen O, OU, L, ST, dan C pada sertifikat yang telah divalidasi berdasarkan domain. Sementara itu, sertifikat yang divalidasi berdasarkan organisasi maupun sertifikat dengan validasi tambahan akan memverifikasi elemen-elemen tersebut secara terpisah.

Paling sering karena teks yang ditempel terpotong atau diberi pemisah baris, atau karena kunci atau sertifikat tertempel sebagai pengganti CSR. Tempel kembali blok lengkap di antara kedua penanda.

Alat Terkait