Dasar-Dasar Baris Perintah OpenSSL
Kuasai perintah-perintah penting OpenSSL untuk pembuatan kunci, enkripsi, hashing, dan pemeriksaan sertifikat.
Dasar-Dasar Baris Perintah OpenSSL adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.
Versi dan Informasi Kompilasi OpenSSL
Perintah "openssl version -a" menampilkan versi OpenSSL, tanggal kompilasi, kompiler, dan opsi yang dikonfigurasi. Memverifikasi versi penting karena kemampuan kriptografi dan pengaturan bawaan berbeda secara signifikan antara OpenSSL 1.0.x, 1.1.x, dan 3.x. Banyak algoritme lama dinonaktifkan secara bawaan pada versi baru demi keamanan.
Membuat Kunci RSA
Perintah "openssl genrsa -out private.pem 4096" menghasilkan kunci privat RSA 4096 bit dalam format PEM. Untuk penggunaan produksi, 2048 bit adalah minimum, 3072 bit memberikan keamanan ~128 bit, dan 4096 bit memberikan margin tambahan. Kunci dapat dienkripsi dengan AES saat tersimpan dengan menambahkan "-aes256" ke perintah, yang akan meminta frasa sandi.
Membuat Kunci EC
Kunci kurva eliptik dibuat dalam dua langkah. Pertama: "openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem" menghasilkan kunci privat EC menggunakan kurva P-256. Alternatif: "openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out ec_private.pem" menggunakan antarmuka genpkey yang lebih baru, yang disarankan untuk kode baru.
Melihat Detail Kunci
Isi kunci dapat diperiksa dengan "openssl rsa -text -noout -in private.pem" untuk kunci RSA, yang menampilkan modulus, eksponen publik, dan faktor prima. Untuk kunci EC: "openssl ec -text -noout -in ec_private.pem" menampilkan nama kurva dan nilai kunci. Bendera "-noout" menekan keluaran yang dikodekan PEM.
Membuat Data Acak
OpenSSL dapat menghasilkan bita acak yang aman secara kriptografis: "openssl rand -hex 32" menghasilkan 32 bita acak sebagai heksadesimal (64 karakter heksadesimal), cocok untuk membuat kunci simetris atau nonce. "openssl rand -base64 32" menghasilkan bita acak yang dikodekan base64. Ini menggunakan sumber entropi OS (/dev/urandom pada sistem Unix).
Menghitung Nilai Hash
Perintah "openssl dgst" menghitung intisari pesan: "openssl dgst -sha256 file.txt" menghitung hash SHA-256 dari sebuah berkas. "openssl dgst -sha256 -hmac key file.txt" menghitung HMAC-SHA256. "openssl dgst -sha256 -sign private.pem -out sig.bin file.txt" membuat tanda tangan digital atas berkas tersebut.
Mengenkripsi Berkas
Enkripsi berkas simetris menggunakan "openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin". Bendera "-pbkdf2" menggunakan PBKDF2 untuk derivasi kunci dari frasa sandi, menggantikan EVP_BytesToKey yang sudah tidak disarankan. Dekripsi: "openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out decrypted.txt". Mode AEAD seperti AES-256-GCM lebih disarankan untuk kode baru.
Konversi Format PEM dan DER
Sertifikat dan kunci tersedia dalam dua format pengodean. PEM dikodekan dengan base64, dilengkapi baris kepala dan kaki (-----BEGIN CERTIFICATE-----), serta digunakan oleh sebagian besar alat Unix. DER adalah pengodean biner yang digunakan oleh Java dan Windows. Untuk mengonversi PEM ke DER, gunakan: "openssl x509 -inform PEM -outform DER -in cert.pem -out cert.der". Untuk mengonversi DER ke PEM, balik opsi -inform dan -outform.
Memverifikasi Tanda Tangan
Verifikasi tanda tangan digital dilakukan dengan: "openssl dgst -sha256 -verify public.pem -signature sig.bin file.txt". Kunci publik harus diekstrak terlebih dahulu: "openssl rsa -pubout -in private.pem -out public.pem". Untuk verifikasi berbasis sertifikat, "openssl verify -CAfile ca.pem cert.pem" memeriksa sertifikat terhadap rantai CA yang ditentukan.
Memeriksa Detail Sertifikat
Inspeksi sertifikat adalah salah satu tugas OpenSSL yang paling umum: "openssl x509 -text -noout -in cert.pem" menampilkan semua bidang sertifikat, termasuk subjek, penerbit, tanggal berlaku, SAN, dan ekstensi. "openssl x509 -enddate -noout -in cert.pem" hanya menampilkan tanggal kedaluwarsa, sehingga berguna dalam skrip pemantauan.
Terhubung ke Peladen TLS
"openssl s_client -connect example.com:443 -servername example.com" membuat koneksi TLS dan menampilkan rantai sertifikat peladen, versi TLS yang dinegosiasikan, serta rangkaian sandi. Menambahkan "-showcerts" akan menampilkan semua sertifikat dalam rantai tersebut. Perintah ini sangat berguna untuk menelusuri masalah rantai sertifikat, masalah versi TLS, dan stapling OCSP.
Pemeriksaan OpenSSL genrsa
Apa yang dilakukan perintah "openssl genrsa -aes256 -out private.pem 2048"?
Ringkasan Pelajaran: Dasar-Dasar CLI OpenSSL
OpenSSL menyediakan perintah untuk pembuatan kunci (genrsa, genpkey), konversi format (PEM/DER), pembangkitan data acak (rand), penghitungan hash dan penandatanganan (dgst), enkripsi berkas (enc), inspeksi sertifikat (x509 -text), verifikasi rantai (verify), serta penelusuran masalah TLS (s_client). Semua ini mencakup sebagian besar tugas sertifikat dan kriptografi sehari-hari.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar-Dasar Baris Perintah OpenSSL” gratis?
Ya — teks lengkap “Dasar-Dasar Baris Perintah OpenSSL” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Dasar-Dasar Baris Perintah OpenSSL”?
Kuasai perintah-perintah penting OpenSSL untuk pembuatan kunci, enkripsi, hashing, dan pemeriksaan sertifikat. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cryptology Academy?
Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Dasar-Dasar Baris Perintah OpenSSL” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?
Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar Baris Perintah OpenSSL
- Membuat dan Mengelola Rantai Sertifikat
- OCSP Stapling dan Transparansi Sertifikat
- Otomatisasi Let's Encrypt dan Protokol ACME