Membuat End Entity
Sekarang CA dan Profile sudah jadi, Kita bisa membuat entitas pertama kita. Setelah memasuki halaman ‘Add Entity”, Plih nama End Entity yang sudah kita buat sebelumnya. Maka field akan berisi informasi dari profil tersebut:

Misalkan kita menggunakan profile “Sertifikat untuk TLS” yang sudah kita buat sebelumnya, hanya informasi ini yang akan dibutuhkan sebelum membuat entitas ini:
- End Entity Profile: Sertifikat untuk TLS
- Username: perangkat.perusahaanlo.com
- Email Address: Perangkat@perusahaanlo.com
- CN: perangkat.perusahaanlo.com
FQDN dari perangkat - Certificate Profile: Sertifikat untuk TLS
- CA: rootca.perusahaanlo.com
Nama CA yang kita buat di langkah sebelumnya. - Token: User Generated
User bisa memilih apakah ingin memilih token berupa .JKS atau .p12
Pilih “Add” untuk menambahkan Entitas.
ketika entitas sudah ditambahkan, kita akan melihat entitas baru terdaftar di bagian bawah dari halaman tersebut.
Review OpenSSL – Perkenalan
EJBCA mengharuskan kita untuk mengajukan sebuah CSR (Certificate Signing Request) sebelum mengeluarkan sebauh sertifikat. tetapi itu tidak ada interface untuk melakukannya. Cara paling mudah untuk menghasilkan sebuah CSR adalah dengan menggunakan OpenSSL, yang memiliki kemampuan untuk menghasilkan CSR dengan menggunakan algoritma RSA atau EC. Saya pikir ada baiknya jika kita juga mereview kegunaan dari OpenSSL ini.
Meskipun sempat didera oleh bug “HeartBleed” (namun sudah berhasil ditangani), OpenSSL tetap dan akan terus menjadi rajanya enkripsi open source. Fokus perintah OpenSSL yang akan dibahas kali ini adalah hanya yang terkait dengan fungsi CSR.
Tahap pertama yang perlu kita lakukan adalah melakukan pengecekkan pada versi openssl pada server kita. caranya:
openssl version
dan keluarannya seperti ini:

Catatan, kalau versi openssl anda masih versi 1.0.1 sampai 1.0.1f, segera update karena versi tersebut vulnerable.
Review OpenSSL – Membuat sebuah RSA CSR
kita asumsikan bahwa enkripsi EC kemungkinan tidak diimplementasikan oleh beberapa perangkat atau semua di jaringan kita, jadi CSR pertama adalah untuk sebuah sertifikat yang menggunakan enkripsi RSA 2048-bit dan sebuah algoritma penandatanganan SHA-256. Perintah berikut akan membuat sebuah Kunci Privat yang baru, dan termasuk sebuah CSR baru:
openssl req -newkey rsa:2048 -nodes -sha256 -keyout server.key -out server.csr
Berikut penjelasan untuk syntax di atas:
- Req → merupakan sebuah permintaan (Request).
- -newkey rsa:2048 → sebuah kunci privat yang akan dibuat dengan menggunakan algortima RSA 2048-bit, beserta CSR baru.
- -nodes → Kunci privat yang dibuat oleh perintah ini akan tidak terenkripsi.
- -sha256 → Sertifikat yang yang diminta dalam CSR akan menggunakan algoritma penandatanganan SHA-256.
- -keyout server.key → Kunci Privat yang baru akan disimpan kedalam file yang bernama server.key
- -out server.csr → CSR baru akan disimpan dengan nama server.csr
Sekarang mari kita lihat isi dari server.key tersebut:

Kemudian sekarang kita lihat isi dari server.csr:

Dalam pembuatan CSR sebenarnya akan ada sebuah prompt yang meminta beberap field data untuk diisi. Namun field-field tersebut akan diabaikan oleh EJBCA delama proses pembuatan sertifikat karena kita telah menonaktifkan fungsi “Overrides” dalam Certificate Profile.
Review OpenSSL – Membuat EC CSR
OpenSSL sekarang mendukung Algoritma Elliptic Curve (EC). Untuk mengetahui apa saja yang disupport oleh versi OpenSSL kalian, jalanka perintah berikut:
openssl ecparam -list_curves secp112r1 : SECG/WTLS curve over a 112 bit prime field secp112r2 : SECG curve over a 112 bit prime field secp128r1 : SECG curve over a 128 bit prime field secp128r2 : SECG curve over a 128 bit prime field secp160k1 : SECG curve over a 160 bit prime field secp160r1 : SECG curve over a 160 bit prime field secp160r2 : SECG/WTLS curve over a 160 bit prime field secp192k1 : SECG curve over a 192 bit prime field secp224k1 : SECG curve over a 224 bit prime field secp224r1 : NIST/SECG curve over a 224 bit prime field secp256k1 : SECG curve over a 256 bit prime field secp384r1 : NIST/SECG curve over a 384 bit prime field secp521r1 : NIST/SECG curve over a 521 bit prime field prime192v1: NIST/X9.62/SECG curve over a 192 bit prime field prime192v2: X9.62 curve over a 192 bit prime field prime192v3: X9.62 curve over a 192 bit prime field prime239v1: X9.62 curve over a 239 bit prime field prime239v2: X9.62 curve over a 239 bit prime field prime239v3: X9.62 curve over a 239 bit prime field prime256v1: X9.62/SECG curve over a 256 bit prime field sect113r1 : SECG curve over a 113 bit binary field sect113r2 : SECG curve over a 113 bit binary field sect131r1 : SECG/WTLS curve over a 131 bit binary field sect131r2 : SECG curve over a 131 bit binary field sect163k1 : NIST/SECG/WTLS curve over a 163 bit binary field sect163r1 : SECG curve over a 163 bit binary field sect163r2 : NIST/SECG curve over a 163 bit binary field sect193r1 : SECG curve over a 193 bit binary field sect193r2 : SECG curve over a 193 bit binary field sect233k1 : NIST/SECG/WTLS curve over a 233 bit binary field sect233r1 : NIST/SECG/WTLS curve over a 233 bit binary field sect239k1 : SECG curve over a 239 bit binary field sect283k1 : NIST/SECG curve over a 283 bit binary field sect283r1 : NIST/SECG curve over a 283 bit binary field sect409k1 : NIST/SECG curve over a 409 bit binary field sect409r1 : NIST/SECG curve over a 409 bit binary field sect571k1 : NIST/SECG curve over a 571 bit binary field sect571r1 : NIST/SECG curve over a 571 bit binary field c2pnb163v1: X9.62 curve over a 163 bit binary field c2pnb163v2: X9.62 curve over a 163 bit binary field c2pnb163v3: X9.62 curve over a 163 bit binary field c2pnb176v1: X9.62 curve over a 176 bit binary field c2tnb191v1: X9.62 curve over a 191 bit binary field c2tnb191v2: X9.62 curve over a 191 bit binary field c2tnb191v3: X9.62 curve over a 191 bit binary field c2pnb208w1: X9.62 curve over a 208 bit binary field c2tnb239v1: X9.62 curve over a 239 bit binary field c2tnb239v2: X9.62 curve over a 239 bit binary field c2tnb239v3: X9.62 curve over a 239 bit binary field c2pnb272w1: X9.62 curve over a 272 bit binary field c2pnb304w1: X9.62 curve over a 304 bit binary field c2tnb359v1: X9.62 curve over a 359 bit binary field c2pnb368w1: X9.62 curve over a 368 bit binary field c2tnb431r1: X9.62 curve over a 431 bit binary field wap-wsg-idm-ecid-wtls1: WTLS curve over a 113 bit binary field wap-wsg-idm-ecid-wtls3: NIST/SECG/WTLS curve over a 163 bit binary field wap-wsg-idm-ecid-wtls4: SECG curve over a 113 bit binary field wap-wsg-idm-ecid-wtls5: X9.62 curve over a 163 bit binary field wap-wsg-idm-ecid-wtls6: SECG/WTLS curve over a 112 bit prime field wap-wsg-idm-ecid-wtls7: SECG/WTLS curve over a 160 bit prime field wap-wsg-idm-ecid-wtls8: WTLS curve over a 112 bit prime field wap-wsg-idm-ecid-wtls9: WTLS curve over a 160 bit prime field wap-wsg-idm-ecid-wtls10: NIST/SECG/WTLS curve over a 233 bit binary field wap-wsg-idm-ecid-wtls11: NIST/SECG/WTLS curve over a 233 bit binary field wap-wsg-idm-ecid-wtls12: WTLS curvs over a 224 bit prime field Oakley-EC2N-3: IPSec/IKE/Oakley curve #3 over a 155 bit binary field. Not suitable for ECDSA. Questionable extension field! Oakley-EC2N-4: IPSec/IKE/Oakley curve #4 over a 185 bit binary field. Not suitable for ECDSA. Questionable extension field! brainpoolP160r1: RFC 5639 curve over a 160 bit prime field brainpoolP160t1: RFC 5639 curve over a 160 bit prime field brainpoolP192r1: RFC 5639 curve over a 192 bit prime field brainpoolP192t1: RFC 5639 curve over a 192 bit prime field brainpoolP224r1: RFC 5639 curve over a 224 bit prime field brainpoolP224t1: RFC 5639 curve over a 224 bit prime field brainpoolP256r1: RFC 5639 curve over a 256 bit prime field brainpoolP256t1: RFC 5639 curve over a 256 bit prime field brainpoolP320r1: RFC 5639 curve over a 320 bit prime field brainpoolP320t1: RFC 5639 curve over a 320 bit prime field brainpoolP384r1: RFC 5639 curve over a 384 bit prime field brainpoolP384t1: RFC 5639 curve over a 384 bit prime field brainpoolP512r1: RFC 5639 curve over a 512 bit prime field brainpoolP512t1: RFC 5639 curve over a 512 bit prime field
Tidak seperti CSR RSA, proses untuk membuat CSR EC membutuhkan 2 perintah OpenSSL terpisah. Kita akan membuat CSR dengan menggunakan curve prime256v1, yang merupakn curve yang paling umum diimplementasikan dalam Kriptografi EC.
perintah pertama adalah untuk membuat Kunci Privat:
openssl ecparam -out eckey.key -name prime256v1 -genkey
Perintah yang kedua membaca Kunci Privat dan membuat CSR. Ingat bahwa syntaxnya berbeda dari versi RSA “newkey” karena disini dibagi ke dalam dua bagian:
openssl req -new -key eckey.key -nodes -sha256 -outform pem -out ecreq.csr
Perintah yang baru adalah:
- -new → Sebuah CSR baru akan dibuat.
- -key eckey.key → CSR baru akan berasal dari Kunci Privat eckey.key
- -outform pem → CSR yang baru akan ditulis dalam format PEM.
Sekarang mari kita lihat outputnya, Baik EC Key dan CSR nya jauh lebih kecil ukurannya bial dibanding dengan RSA yang ekuivalen dengannya (contoh di atas):
cat eckey.key

cat ecreq.csr

Segitu dulu postingan di bagian ke 5 kali ini. Di postingan berikutnya akan membahas tentang issuing Certificate alias mengeluarkan sertifikat.
Pantau terus yaaa!!! 🙂
