1️⃣ Apa itu format PEM?
PEM (Surat yang Ditingkatkan Privasi) adalah format teks yang digunakan untuk menyimpan dan mentransfer kunci dan sertifikat. Ini mengkodekan data DER biner Base64 dan membungkusnya dengan header dan footer seperti-----MULAI <LABEL>-----dan-----AKHIR <LABEL>-----. Label umum meliputiKUNCI PUBLIK, KUNCI PRIBADI, danSERTIFIKAT. Mudah untuk menyalin, menempel, dan mengirimkan dalam alur kerja berbasis teks, menjadikannya salah satu format pertukaran kunci yang paling umum.
2️⃣ Format apa lagi yang umum selain PEM?
- DER: format biner murni yang menyimpan struktur ASN.1 secara langsung. Ini tidak dapat dibaca oleh manusia dan umum terjadi di ekosistem Jawa.
- HEX: mengekspresikan konten biner DER sebagai string heksadesimal, berguna untuk debugging atau menyematkan kode.
- Base64 (tanpa header): DER mentah yang dikodekan sebagai Base64 tanpa header PEM, sering digunakan dalam konfigurasi ringkas atau muatan token.
- PKCS#12 (PFX): format kontainer biner yang dapat menggabungkan kunci publik dan privat, biasanya dilindungi oleh kata sandi dan sering digunakan oleh browser atau sistem Windows.
3️⃣ Kapan sebaiknya Anda menggunakan setiap format?
- PEM: opsi paling universal, cocok untuk OpenSSL, server web (Nginx/Apache), dan pertukaran API.
- DER: umum digunakan di lingkungan Java atau yang memerlukan penyimpanan biner yang ketat.
- HEX: berguna dalam debugging, sistem tertanam, atau kapan pun pemeriksaan byte yang tepat diperlukan.
Enkripsi
- Base64 (tanpa header): berguna ketika pemformatan dibatasi atau diperlukan representasi yang ringkas.
- PKCS#12: berguna ketika kunci publik dan privat harus dipindahkan bersama-sama sekaligus melindungi kunci privat dengan kata sandi.