JSON web token atau yang juga biasa di singkat sebagai JWT adalah sebuah sistem token untuk melakukan sertifikasi keamanan yang dibuat dengan mengacu pada standar RFC 7519. JWT digunakan untuk mengamankan pertukaran data antara dua buah sistem atau lebih dalam bentuk JSON (Javascript object notation).
JWT mengamankan informasi yang dikirimkan ke sistem lain dengan menambahkan token disetiap pengiriman. Token ini akan diverifikasi oleh penerima informasi tersebut
. Pada kasus pertukaran data dengan HTTPS , token akan disematkan atau ditambahkan pada request header melalui parameter bernama Authorization.
Pertukaran informasi yang diamankan dengan menggunakan JWT dapat di verifikasi karena informasi tersebut telah di serifikasi secara digital (digitally signed). Proses verifikasi ini atau juga dapat disebut sebagai proses tanda tangan digital ini akan mengacu pada algoritma HMAC ataupun juga dapat menggunakan pasangan private dan public key dalam bentuk RSA.
RSA yang merupakan singkatan dari Rivest – shamir and adleman adalah salah sistem kriptografi dengan pendekatan public key yang pertama kali dibuat dan digunakan oleh berbagai sistem di dunia. RSA memiliki tiga buah sertifikasi yakni IEEE , ANSI X9.31 dan PKCS#1.
Cara Membuat Sertifikat rs256 atau rsa256 untuk JWT (Json Web Token) pada Sistem Operasi Windows dalam bentuk pem
1.Unduh cygwin
langkah pertama adalah mengunduh aplikasi cygwin. Melalui aplikasi cygwin inilah token rs256 dapat dibuat pada sistem operasi windows. Nantinnya serifikat rs256 ini dapat digunakan secara langsung pada metode autentikasi JWT (Json web token).
Sertifikati rs256/rsa256 ini akan memiliki format pem yakni Privacy Enhanced Mail Format
Cygwin dapat di unduh pada tautan dibawah ini.
http://www.cygwin.com/
kemudian unduh setup_x86_64.exe dari situs cygwin tersebut.
Installer ini telah mensupport sistem operasi 32 bit ataupun 64 bit.
2. Install cygwin
jalankan file installer cygwin yang telah di unduh pada langkah pertama. Ukuran installer ini cukup kecil yakni hanya berkisar 1 mb sehingga proses install tidak membutuhkan waktu yang lama.
Pastikan menggunakan mode administrator pada saat hendak melakukan install cygwin untuk membuat sertifikat pem rsa 256 ini.
Ikuti proses installasi cygwin hingga selesai. Jika ada pilihan terkait source data dari installer cygwin maka pilihlah dari internet. File yang sebelumnya di unduh hanyalah sebuah aplikasi gateway atau launcher untuk mengunduh program cygwin yang sesungguhnya.
tungguh hingga proses installasi selesai. Jika koneksi yang digunakan berasal dari indonesia maka sangat disarankan untuk memilih mirror dari singapura sehingga proses installasi jauh lebih cepat jika dibandingkan menggunakan mirror dari benua eropa ataupun amerika.
Dalam hal ini mirror yang digunakan berasal dari nus.edu.sg
setelah selesai maka shortcut ke program cygwin akan muncul pada desktop dan startmenu
3. Membuat sertifikat rsa256 pem dengan cygwin
pastikan telah melakukan installasi cygwin pada langkah nomor 2. Jika cygwin belum terinstall maka tidak dapat membuat private ataupun public key dengan sistem kriptografi rsa256 yang akan digunakan pada jwt.
3.1 membuat private key rsa256 pem
buka aplikasi cygwin64 terminal yang telah terinstall dan gunakan perintah dibawah ini untuk membuat private key rs256 dalam format pem (Privacy enhanced mail format).
openssl genrsa -aes256 -out private_key.pem 2048
pastikan memasukan pass phrase dengan jumlah karakter yang memadai sehingga sertifikat yang dihasilkan jauh lebih aman.
3.1 membuat public key rsa256 pem
public key rsa256 hanya dapat dibuat dengan menggunakan private key rsa256. Pastikan telah membuat sertifikat private pem terlebih dahulu.
buka aplikasi cygwin64 terminal yang telah terinstall dan gunakan perintah dibawah ini untuk membuat public key rs256 dalam format pem (Privacy enhanced mail format).
Gunakan pass phrase yang sama pada saat membuat private key
untuk melihat hasil dari public dan private key tersebut dapat menggunakan perintah dibawah
ls -la
atau juga dapat dilihat langsung pada direktori / windows explorer dengan membuka folder cygwin (secara default berada di direktori C:/cygwin64. kecuali terdapat perubahan pada saat installasi.
untuk mengetahui lokasi dimana kedua file private dan public pem tersebut tersimpan dapat menggunakan perintah dibawah ini
pwd
untuk dapat melihat isi dari public atau private key rsa256 pem tersebut dapat menggunakan perintah dibawah ini
cat private_key.pem
atau untuk melihat isi dari public key dapat menggunakan perintah dibawah ini
cat public_key.pem
jika sertifikat rs256 yang dibuat dengan cara diatas tidak berjalan pada versi JWT yang di implementasikan maka dapat mencoba alternatif dibawah ini.
perintah membuat private key dengan openssl
ssh-keygen -t rsa -b 4096 -m PEM -f jwtRS256.key
perintah membuat public key dengan openssl
openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub
[…] Cara Membuat Sertifikat rs256 atau rsa256 untuk JWT… […]