bg-tutorials

Cara Membuat CSR untuk Code Signing Certificate

Sertifikat code signing membuktikan siapa yang mempublikasikan sebuah perangkat lunak dan menunjukkan bahwa kode tersebut tidak diubah sejak ditandatangani. Untuk memesannya, Anda membuat CSR (Certificate Signing Request), yaitu blok teks terenkode yang digunakan oleh Certificate Authority (CA) untuk mengidentifikasi Anda dan menerbitkan sertifikat. CSR untuk code signing mengikuti aturan yang berbeda dari CSR yang Anda buat untuk sebuah situs web, dan aturan tersebut telah berubah pada tahun 2023. Panduan ini menjelaskan proses terkini dan metode-metode yang masih berlaku.

Kunci privat harus disimpan pada perangkat keras

Sejak 1 Juni 2023, CA/Browser Forum Code Signing Baseline Requirements telah mewajibkan kunci privat untuk setiap sertifikat code signing yang dipercaya secara publik dibuat dan disimpan pada perangkat keras yang memenuhi standar FIPS 140-2 Level 2, Common Criteria EAL4+, atau standar yang setara. Ini berlaku untuk sertifikat standar (Organization Validation dan Individual Validation) maupun sertifikat Extended Validation (EV). Code signing EV sudah mewajibkan penggunaan perangkat keras sebelum tanggal ini; perubahan tahun 2023 memperluas aturan yang sama ke sertifikat standar.

Konsekuensi praktisnya penting: kunci privat dan CSR yang dibuat sepenuhnya melalui perangkat lunak, di browser, atau dalam file biasa di laptop atau server, tidak lagi diterima untuk sertifikat code signing yang dipercaya secara publik. CA telah berhenti mendukung pembuatan kunci berbasis browser dan pengiriman .pfx yang dapat diunduh untuk produk-produk ini. Kunci harus dibuat, dan tetap berada, pada perangkat yang sesuai standar. Ini menyisakan dua jalur yang valid:

  • Token perangkat keras yang telah dikonfigurasi sebelumnya dari CA. CA membuat pasangan kunci dan CSR langsung pada token USB bersertifikat, memasang sertifikat yang telah diterbitkan pada token tersebut, dan mengirimkan token kepada Anda. Anda menandatangani dengan token yang terpasang. Dengan metode ini Anda tidak membuat CSR sendiri.
  • HSM Anda sendiri atau cloud HSM, dengan atestasi kunci. Jika Anda sudah memiliki Hardware Security Module yang sesuai standar (atau cloud HSM seperti AWS CloudHSM, Azure Dedicated HSM, atau Google Cloud HSM), Anda membuat kunci dan CSR pada perangkat tersebut dan menyediakan file atestasi yang membuktikan kepada CA bahwa kunci tersebut dibuat pada, dan tidak dapat diekspor dari, perangkat keras yang sesuai standar.

Jalur mana yang Anda pilih ditentukan saat Anda melakukan pemesanan. Untuk perbandingan berdampingan, lihat metode pengiriman sertifikat code signing.

Opsi 1: token beserta pengiriman (CA yang membuat CSR)

Ini adalah jalur yang dipilih oleh kebanyakan individu dan tim kecil, karena tidak memerlukan perangkat keras milik Anda sendiri. Ketika Anda memilih token beserta pengiriman saat checkout, CA menangani pembuatan kunci dan CSR pada token bersertifikat di pihaknya, kemudian mengirimkan token tersebut kepada Anda beserta sertifikat yang sudah dimuat. Tidak ada CSR yang perlu Anda tempelkan ke formulir pemesanan.

Yang Anda lakukan sebagai gantinya:

  • Selesaikan langkah-langkah validasi yang diminta oleh CA (verifikasi organisasi atau identitas).
  • Tunggu token fisik tiba.
  • Pasang driver token (biasanya SafeNet Authentication Client) dan tandatangani perangkat lunak Anda dengan token yang terhubung.

Opsi 2: membuat CSR pada HSM atau token milik Anda sendiri

Jika Anda sudah memiliki perangkat keras yang sesuai standar, Anda membuat pasangan kunci dan CSR pada perangkat tersebut dan menyediakan atestasi yang sesuai. Langkah-langkah pastinya bergantung pada perangkat keras yang digunakan, jadi ikuti panduan untuk perangkat Anda atau dokumentasi resmi dari penyedia Anda:

Untuk cloud HSM (AWS CloudHSM, Azure Dedicated HSM, Google Cloud HSM), buat kunci di dalam HSM, ekspor CSR dan file atestasi yang dihasilkan oleh platform tersebut, kemudian ajukan keduanya kepada CA Anda saat melakukan pemesanan.

Beberapa hal berikut berlaku untuk semua CSR yang didukung perangkat keras:

  • Gunakan kunci RSA minimal 3072 bit, atau kunci ECDSA yang setara, sesuai yang ditentukan oleh Baseline Requirements.
  • Tandai kunci sebagai tidak dapat diekspor sehingga tidak dapat dikeluarkan dari perangkat.
  • Buat atestasi bersamaan dengan pembuatan kunci. CSR tanpa atestasi yang valid akan ditolak.

Di mana posisi metode OpenSSL, Java Keytool, MMC, CertReq, dan Keychain sekarang

Anda mungkin pernah melihat instruksi lama yang membuat CSR untuk code signing dengan OpenSSL, utilitas Java keytool, Microsoft Management Console (MMC), perintah Windows certreq, atau Keychain Access di macOS. Dengan sendirinya, alat-alat ini membuat kunci melalui perangkat lunak, sehingga CSR yang dibuat dengan cara tersebut tidak valid untuk sertifikat code signing yang dipercaya secara publik saat ini.

Alat-alat ini masih memiliki tempatnya ketika diarahkan ke perangkat keras yang sesuai standar, bukan ke keystore perangkat lunak. Misalnya, OpenSSL dapat membuat CSR terhadap HSM melalui modul PKCS#11, dan CertReq atau MMC dapat membuat permintaan yang menggunakan penyedia penyimpanan kunci berbasis perangkat keras. Gunakan referensi ini hanya dalam konteks tersebut, dan selalu sertakan atestasi dari perangkat tersebut bersama permintaannya:

Periksa isi CSR Anda

Sebelum Anda mengajukan CSR, pastikan detail subjeknya sudah benar. Jika Anda memiliki OpenSSL, dekode permintaan tersebut secara lokal dan bacalah dalam bentuk teks biasa:

openssl req -noout -text -in codesigning.csr

Tinjau nama organisasi atau nama umum serta ukuran kunci pada output tersebut. Pemeriksa CSR situs web standar bukan alat yang tepat di sini, karena CSR untuk code signing terkait dengan perangkat keras dan divalidasi melalui atestasi, bukan melalui pemindaian HTTPS publik.

Pertanyaan yang Sering Diajukan

Apakah saya masih perlu membuat CSR untuk sertifikat code signing?

Kadang-kadang. Jika Anda memesan token beserta pengiriman, CA membuat kunci dan CSR pada token untuk Anda, sehingga Anda tidak perlu membuat CSR sendiri. Jika Anda menggunakan HSM atau cloud HSM milik Anda sendiri, Anda memang membuat CSR pada perangkat keras tersebut, dan mengajukannya dengan file atestasi. Bagaimanapun caranya, kunci harus dibuat pada perangkat keras yang sesuai standar.

Mengapa saya tidak bisa lagi membuat CSR code signing melalui perangkat lunak?

CA/Browser Forum Code Signing Baseline Requirements telah mewajibkan kunci yang dilindungi perangkat keras sejak 1 Juni 2023. Kunci privat harus dibuat dan disimpan pada perangkat yang memenuhi standar FIPS 140-2 Level 2, Common Criteria EAL4+, atau standar yang setara. Kunci yang dibuat melalui perangkat lunak tidak memenuhi standar tersebut, sehingga CA tidak akan menerbitkan sertifikat yang dipercaya secara publik untuk CSR yang berbasis perangkat lunak saja.

Apa itu atestasi, dan kapan saya memerlukannya?

Atestasi adalah bukti, yang ditandatangani oleh perangkat keras, bahwa kunci privat dibuat pada perangkat yang sesuai standar dan tidak dapat diekspor darinya. Anda memerlukannya ketika Anda membuat CSR pada HSM, cloud HSM, atau token milik Anda sendiri. CA memeriksa atestasi tersebut sebelum menerbitkan sertifikat. Dengan token yang telah dikonfigurasi sebelumnya dan dikirim oleh CA, atestasi ditangani di pihak CA.

Ukuran kunci apa yang harus digunakan untuk CSR code signing?

Gunakan kunci RSA minimal 3072 bit, atau kunci ECDSA yang setara. Ini adalah standar minimum yang ditetapkan oleh Baseline Requirements untuk code signing.

Apakah prosesnya berbeda untuk sertifikat code signing EV?

Aturan perangkat kerasnya sama. Sertifikat code signing EV selalu mewajibkan kunci yang dilindungi perangkat keras, dan sejak 1 Juni 2023 sertifikat code signing standar mengikuti persyaratan yang sama. Perbedaan utama antara standar dan EV terletak pada tingkat validasi dan sinyal kepercayaan yang dibawa oleh sertifikat, bukan pada cara penyimpanan kuncinya.

Bisakah saya menggunakan OpenSSL atau keytool untuk membuat CSR?

Hanya jika diarahkan ke perangkat keras yang sesuai standar. OpenSSL dapat membuat CSR terhadap HSM melalui modul PKCS#11, dan keytool, MMC, atau CertReq dapat membuat permintaan yang didukung oleh penyimpanan kunci berbasis perangkat keras. CSR yang dibuat oleh alat-alat ini dari keystore perangkat lunak biasa tidak diterima untuk sertifikat code signing yang dipercaya secara publik.

Hemat 10% untuk Sertifikat SSL saat memesan hari ini!

Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.