21 Contoh OpenSSL untuk Membantu Anda di Dunia Nyata

Buat, Kelola & Konversi Sertifikat SSL dengan OpenSSL

Salah satu perintah paling populer di SSL untuk membuat, mengonversi, mengelola Sertifikat SSL adalah OpenSSL.

Akan ada banyak situasi di mana Anda harus berurusan dengan OpenSSL dengan berbagai cara, dan di sini saya telah mendaftarkannya untuk Anda sebagai lembar contekan yang berguna.

Pada artikel ini, saya akan berbicara tentang perintah OpenSSL yang sering digunakan untuk membantu Anda di dunia nyata.

Beberapa singkatan yang terkait dengan sertifikat.

  • SSL – Lapisan Soket Aman
  • CSR – Permintaan Penandatanganan Sertifikat
  • TLS – Keamanan Lapisan Transportasi
  • PEM – Email yang Ditingkatkan Privasi
  • DER – Aturan Pengkodean yang Dibedakan
  • SHA – Algoritma Hash Aman
  • PKCS – Standar Kriptografi Kunci Publik

Catatan: Kursus pengoperasian SSL/TLS akan sangat membantu jika Anda tidak terbiasa dengan istilah-istilah tersebut.

Buat Kunci Pribadi dan Permintaan Penandatanganan Sertifikat baru

openssl req -out techking.id.csr -newkey rsa:2048 -nodes -keyout techking.id.key

Perintah di atas akan menghasilkan CSR dan file kunci RSA 2048-bit. Jika Anda bermaksud menggunakan sertifikat ini di Apache atau Nginx, maka Anda perlu mengirim file CSR ini ke otoritas penerbit sertifikat, dan mereka akan memberi Anda sertifikat yang ditandatangani sebagian besar dalam format der atau pem yang perlu Anda konfigurasikan di server web Apache atau Nginx .

  Cara Mengukur Produktivitas Kerja-Dari-Rumah Pekerja Jarak Jauh

Buat Sertifikat yang Ditandatangani Sendiri

openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

Perintah di atas akan menghasilkan sertifikat yang ditandatangani sendiri dan file kunci dengan RSA 2048-bit. Saya juga menyertakan sha256 karena dianggap paling aman saat ini.

Tip: secara default, ini akan menghasilkan sertifikat yang ditandatangani sendiri yang berlaku hanya untuk satu bulan sehingga Anda dapat mempertimbangkan untuk menentukan parameter –hari untuk memperpanjang validitas.

Mis: memiliki tanda tangan sendiri berlaku selama dua tahun.

openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout gfselfsigned.key -out gfcert.pem

Verifikasi file CSR

openssl req -noout -text -in techking.id.csr

Verifikasi sangat penting untuk memastikan Anda mengirim CSR ke otoritas penerbit dengan perincian yang diperlukan.

Buat Kunci Pribadi RSA

openssl genrsa -out private.key 2048

Jika Anda hanya perlu membuat kunci pribadi RSA, Anda dapat menggunakan perintah di atas. Saya telah menyertakan 2048 untuk enkripsi yang lebih kuat.

Hapus Frasa Sandi dari Kunci

openssl rsa -in certkey.key -out nopassphrase.key

Jika Anda menggunakan frasa sandi di file kunci dan menggunakan Apache maka setiap kali Anda memulai, Anda harus memasukkan kata sandi. Jika Anda merasa terganggu dengan memasukkan kata sandi, maka Anda dapat menggunakan openssl rsa -in techking.id.key -check di atas untuk menghapus kunci frasa sandi dari kunci yang ada.

Verifikasi Kunci Pribadi

openssl rsa -in certkey.key –check

Jika Anda meragukan file kunci Anda, Anda dapat menggunakan perintah di atas untuk memeriksa.

Verifikasi File Sertifikat

openssl x509 -in certfile.pem -text –noout

Jika Anda ingin memvalidasi data sertifikat seperti CN, OU, dll. Anda dapat menggunakan perintah di atas yang akan memberi Anda detail sertifikat.

Verifikasi Otoritas Penandatangan Sertifikat

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

Otoritas penerbit sertifikat menandatangani setiap sertifikat dan jika Anda perlu memeriksanya.

  Cara Mengunduh Aplikasi yang Tidak Ada Lagi di App Store Ponsel Anda

Periksa Nilai Hash Sertifikat

openssl x509 -noout -hash -in bestflare.pem

Ubah format DER menjadi PEM

openssl x509 –inform der –in sslcert.der –out sslcert.pem

Biasanya, otoritas sertifikat akan memberi Anda sertifikat SSL dalam format .der, dan jika Anda perlu menggunakannya dalam format apache atau .pem maka perintah di atas akan membantu Anda.

Ubah format PEM ke DER

openssl x509 –outform der –in sslcert.pem –out sslcert.der

Jika Anda perlu mengubah format .pem menjadi .der

Konversikan Sertifikat dan Kunci Pribadi ke format PKCS#12

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

Jika Anda perlu menggunakan sertifikat dengan aplikasi java atau dengan aplikasi lain yang hanya menerima format PKCS#12, Anda dapat menggunakan perintah di atas, yang akan menghasilkan pfx tunggal yang berisi file sertifikat & kunci.

Kiat: Anda juga dapat menyertakan sertifikat berantai dengan mengirimkan –rantai seperti di bawah ini.

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem

Buat CSR menggunakan kunci pribadi yang ada

openssl req –out certificate.csr –key existing.key –new

Jika Anda tidak ingin membuat kunci pribadi baru alih-alih menggunakan yang sudah ada, Anda dapat menggunakan perintah di atas.

Periksa isi sertifikat format PKCS12

openssl pkcs12 –info –nodes –in cert.p12

PKCS12 adalah format biner sehingga Anda tidak akan dapat melihat konten di notepad atau editor lainnya. Perintah di atas akan membantu Anda melihat isi file PKCS12.

Ubah format PKCS12 menjadi sertifikat PEM

openssl pkcs12 –in cert.p12 –out cert.pem

Jika Anda ingin menggunakan format pkcs12 yang ada dengan Apache atau hanya dalam format pem, ini akan berguna.

Uji sertifikat SSL dari URL tertentu

openssl s_client -connect yoururl.com:443 –showcerts

Saya cukup sering menggunakan ini untuk memvalidasi sertifikat SSL dari URL tertentu dari server. Ini sangat berguna untuk memvalidasi detail protokol, sandi, dan sertifikat.

Cari tahu versi OpenSSL

openssl version

Jika Anda bertanggung jawab untuk memastikan keamanan OpenSSL, maka mungkin salah satu hal pertama yang harus Anda lakukan adalah memverifikasi versinya.

  Bagaimana Background Check Perusahaan Mendapatkan Informasi?

Periksa Tanggal Kedaluwarsa Sertifikat File PEM

openssl x509 -noout -in certificate.pem -dates

Berguna jika Anda berencana melakukan pemantauan untuk memeriksa validitasnya. Ini akan menunjukkan kepada Anda tanggal dalam sintaks notBefore dan notAfter. notAfter adalah salah satu yang harus Anda verifikasi untuk mengonfirmasi apakah sertifikat telah kedaluwarsa atau masih berlaku.

Mantan:

[[email protected] opt]# openssl x509 -noout -in bestflare.pem -dates
notBefore=Jul 4 14:02:45 2015 GMT
notAfter=Aug 4 09:46:42 2015 GMT
[[email protected] opt]#

Periksa Tanggal Kedaluwarsa Sertifikat URL SSL

openssl s_client -connect secureurl.com:443 2>/dev/null | openssl x509 -noout –enddate

Lain berguna jika Anda berencana untuk memantau tanggal kedaluwarsa sertifikat SSL dari jarak jauh atau URL tertentu.

Mantan:

[[email protected] opt]# openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate

notAfter=Dec 8 00:00:00 2015 GMT

Periksa apakah SSL V2 atau V3 diterima di URL

Untuk memeriksa SSL V2

openssl s_client -connect secureurl.com:443 -ssl2

Untuk Memeriksa SSL V3

openssl s_client -connect secureurl.com:443 –ssl3

Untuk Memeriksa TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

Untuk Memeriksa TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

Untuk Memeriksa TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

Jika Anda mengamankan server web dan perlu memvalidasi apakah SSL V2/V3 diaktifkan atau tidak, Anda dapat menggunakan perintah di atas. Jika diaktifkan, Anda akan mendapatkan “TERHUBUNG” atau “kegagalan jabat tangan”.

Verifikasi apakah cipher tertentu diterima di URL

openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect secureurl:443

Jika Anda bekerja pada temuan keamanan dan hasil tes pena menunjukkan beberapa sandi yang lemah diterima maka untuk memvalidasi, Anda dapat menggunakan perintah di atas.

Tentu saja, Anda harus mengubah sandi dan URL yang ingin Anda uji. Jika sandi yang disebutkan diterima, maka Anda akan mendapatkan “TERHUBUNG” jika tidak “kegagalan jabat tangan”.

Saya harap perintah di atas membantu Anda mengetahui lebih banyak tentang OpenSSL untuk mengelola sertifikat SSL untuk situs web Anda.