GNU/Linux >> Belajar Linux >  >> Ubuntu

Tutorial OpenSSL:Bagaimana Cara Kerja Sertifikat SSL, Kunci Pribadi, &CSR?

Pendahuluan

Awalnya dikembangkan oleh Netscape pada tahun 1994 untuk mendukung kemampuan e-commerce internet, Secure Socket Layer (SSL) telah berkembang pesat. Di tengah semua serangan dunia maya, sertifikat SSL telah menjadi kebutuhan rutin untuk setiap situs web langsung.

Meskipun Secure Socket Layer (SSL) dan Transport Socket Layer (TLS) telah tersedia di mana-mana, kami akan menjelaskan secara singkat apa yang mereka lakukan dan bagaimana mereka melakukannya.

Jangan lewatkan Tutorial OpenSSL bagian.

Apa itu Sertifikat SSL? Bagaimana Cara Kerja SSL?

Sertifikat Secure Socket Layer (SSL) adalah protokol keamanan yang mengamankan data antara dua komputer dengan menggunakan enkripsi.

Biasanya, sertifikat SSL digunakan pada halaman web yang mengirimkan dan menerima data sensitif pengguna akhir, seperti Nomor Jaminan Sosial, detail kartu kredit, alamat rumah, atau kata sandi. Formulir pembayaran online adalah contoh yang baik dan biasanya mengenkripsi informasi sensitif yang disebutkan di atas menggunakan teknologi SSL 128 atau 256-bit.

Sertifikat SSL memastikan identitas komputer jarak jauh, paling umum server, tetapi juga mengonfirmasi identitas komputer Anda ke komputer jarak jauh untuk membuat koneksi yang aman. Menjaga keamanan internet selalu menjadi jalan dua arah dan berkat enkripsi SSL, server "berjabat tangan" dengan komputer pribadi Anda dan kedua belah pihak tahu dengan siapa mereka berkomunikasi.

Apa Perbedaan Antara TLS dan SSL?

Tidak ada . Transport Layer Security (TLS) adalah versi terbaru dari Secure Socket Layer (SSL). Meskipun koneksi paling aman adalah melalui protokol TLS, orang-orang tetap menyebutnya SSL. Dalam hal ini, dapat dikatakan bahwa kebiasaan lama memang sulit dihilangkan.

Bagaimana Saya Dapat Mengetahui Apakah Halaman Web Diamankan Dengan SSL?

Sebagai pengguna internet, Anda mungkin memperhatikan gembok dan bilah info situs berubah menjadi hijau di browser web Anda, serta https protokol koneksi.

Itu browser Anda memberi tahu Anda bahwa situs web diamankan menggunakan enkripsi SSL. Mengeklik bilah info situs akan memberikan detail tambahan tentang koneksi serta wawasan tentang sertifikat SSL itu sendiri.

Mengapa Saya Membutuhkan Sertifikat SSL?

Mari kita ambil contoh kehidupan nyata.

Anda adalah pemilik situs e-niaga yang baru saja menyewa server dengan phoenixNAP dan meluncurkan beberapa toko e-niaga baru. Anda ingin pengunjung Anda merasa aman saat mengunjungi e-store Anda dan, yang terpenting, tidak merasa ragu untuk masuk dan melakukan pembelian.

Sertifikat SSL dan koneksi HTTPS menanamkan kepercayaan konsumen. Industri e-niaga terkait erat dengan kepercayaan konsumen, dan kami bahkan dapat mengatakan bahwa bisnis Anda bergantung pada perasaan aman pelanggan selama seluruh pengalaman pembelian.

Selain alasan keamanan yang jelas, sertifikat SSL meningkatkan SEO dan Peringkat Google situs Anda serta membangun kepercayaan pelanggan, sehingga meningkatkan rasio konversi secara keseluruhan.

Jika itu tidak cukup untuk membuat Anda mempertimbangkan untuk mendapatkan sertifikat SSL untuk domain Anda, Google pasti akan membujuk Anda. Yaitu, mulai Juli 2018 Google menandai setiap situs web tanpa SSL sebagai tidak aman.

Di mana saya bisa mendapatkan Sertifikat SSL?

Sertifikat SSL diverifikasi dan dikeluarkan oleh Certificate Authority (CA). Anda mengajukan permohonan dengan membuat CSR dengan pasangan kunci di server Anda yang idealnya akan memegang sertifikat SSL. CSR berisi detail organisasi penting yang diverifikasi oleh CA.

  1. Buat CSR dan pasangan kunci secara lokal di server Anda. Pasangan kunci terdiri dari kunci publik dan kunci privat.
  2. Kirim CSR dan kunci publik ke CA yang akan memverifikasi identitas hukum Anda dan apakah Anda memiliki dan mengontrol domain yang dikirimkan dalam aplikasi. Otoritas Sertifikat menjalankan pemeriksaan pada organisasi Anda dan memvalidasi apakah organisasi tersebut terdaftar di lokasi yang disediakan dalam CSR dan apakah domain tersebut ada.
  3. Saat diverifikasi, organisasi menerima salinan sertifikat SSL mereka termasuk detail bisnis serta kunci publik. Organisasi sekarang dapat menginstal sertifikat di server mereka.
  4. Saat CA mengeluarkan sertifikat, CA akan mengikat ke sertifikat "root tepercaya" otoritas sertifikat. Sertifikat root disematkan ke setiap browser dan terhubung ke sertifikat yang dikeluarkan satu per satu untuk membuat koneksi HTTPS.

Jenis Sertifikat SSL

Pastikan Anda memilih CA yang mendukung jenis sertifikat yang Anda butuhkan. Untuk kenyamanan Anda, di bawah ini adalah deskripsi dari setiap jenis sertifikat:

Sertifikat SSL Domain Tunggal

Jenis ini dimaksudkan untuk digunakan untuk satu domain dan tidak menawarkan dukungan untuk subdomain. Misalnya, jika sertifikat akan digunakan untuk www.phoenixnap.com, itu tidak akan mendukung nama domain lainnya.

Beberapa Domain (Sertifikat SAN/UC)

Beberapa sertifikat domain digunakan untuk banyak domain dan subdomain. Selain FQDN, Anda dapat menambahkan dukungan untuk (sub) domain lain dengan menambahkannya ke Bidang Nama Alternatif Subjek. Misalnya, sertifikat SAN dapat menyertakan domain www.phoenixnap.com, subdomain help.phoenixnap.com, serta domain lain (mis., www.examplesite.com).

Sertifikat Wildcard

Sertifikat wildcard dapat digunakan untuk domain, termasuk semua subdomainnya. Perbedaan utama adalah bahwa alih-alih dikeluarkan untuk FQDN tertentu, sertifikat wildcard digunakan untuk berbagai subdomain. Misalnya, sertifikat wildcard yang dikeluarkan untuk *.phoenixnap.com dapat digunakan untuk berbagai subdomain di bawah domain utama www.phoenixnap.com, seperti yang terlihat pada gambar di bawah.

Tingkat Validasi Sertifikat SSL

CA memiliki tingkat validasi sertifikat yang beragam sebagai tanggapan atas meningkatnya permintaan akan sertifikat. Beberapa organisasi menggunakan SSL hanya untuk enkripsi, sementara yang lain ingin menunjukkan kepada pelanggan mereka bahwa mereka adalah perusahaan tepercaya. Kebutuhan yang berbeda menghasilkan tingkat validasi sertifikat yang berbeda.

Validasi Domain (DV SSL)

Jenis sertifikat SSL ini ideal untuk mengamankan blog, aplikasi media sosial, dan situs web pribadi. Otoritas sertifikat tidak menjamin identitas organisasi, dan hanya kepemilikan domain yang diverifikasi.

Validasi Diperpanjang (EV SSL)

Otoritas sertifikat memverifikasi kepemilikan domain dan melakukan penyelidikan menyeluruh terhadap organisasi yang terkait dengan sertifikat EV. Aturan ketat diikuti saat meninjau permintaan validasi yang diperpanjang, dan CA harus memverifikasi hal berikut:

  1. Identitas organisasi sesuai dengan catatan resmi.
  2. Keberadaan fisik, hukum, dan operasi entitas.
  3. Organisasi memiliki hak eksklusif untuk menggunakan domain yang ditentukan dalam sertifikat SSL.
  4. Organisasi telah memberikan otorisasi yang sesuai untuk penerbitan sertifikat SSL EV.

Buat Sertifikat SSL

Cara membuat permintaan penandatanganan sertifikat hanya bergantung pada platform yang Anda gunakan dan alat pilihan tertentu.

Kami akan menghasilkan CSR menggunakan OpenSSL .

OpenSSL adalah alat yang banyak digunakan untuk bekerja dengan file CSR dan sertifikat SSL dan tersedia untuk diunduh di situs web resmi OpenSSL. Ini adalah alat implementasi sumber terbuka untuk SSL/TLS dan digunakan di sekitar 65% dari semua server internet aktif, menjadikannya standar industri tidak resmi.

Debian dan Ubuntu

dpkg -l |grep openssl

Jika paket OpenSSL diinstal, itu akan mengembalikan hasil berikut:

ii libgnutls-openssl27:amd64   2.12.23-12ubuntu2.4   amd64   GNU TLS library - OpenSSL wrapper

ii openssl   1.0.1f-1ubuntu2.16   amd64   Secure Sockets Layer toolkit - cryptographic utility

Jika Anda tidak melihat hasil seperti itu, jalankan perintah berikut untuk menginstal OpenSSL:

apt-get install openssl

Red Hat atau CentOS

Red Hat (rilis 7.0 dan yang lebih baru) harus disertakan dengan OpenSSL versi terbatas yang telah diinstal sebelumnya. Ini hanya menawarkan dukungan terbatas untuk IDEA, RC5, dan MDC2, jadi Anda mungkin ingin menginstal fitur yang hilang. Untuk membaca lebih lanjut tentang ini, lihat dokumentasi OpenSSL.

Untuk memeriksa apakah OpenSSL diinstal pada server yum (mis., Red Hat atau CentOS), jalankan perintah berikut:

rpm -qa | grep -i openssl

Perintah ini akan mengembalikan hasil berikut:

openssl-1.0.1e-48.el6_8.1.x86_64
openssl-devel-1.0.1e-48.el6_8.1.x86_64
openssl-1.0.1e-48.el6_8.1.i686

Jika format output Anda berbeda, itu berarti OpenSSL tidak diinstal di server Anda. Jalankan perintah berikut untuk menginstal OpenSSL:

yum install openssl openssl-devel

Apa yang dimaksud dengan Permintaan Penandatanganan Sertifikat (CSR)?

Permintaan penandatanganan sertifikat (CSR) berisi informasi paling penting tentang organisasi dan domain Anda.

Biasanya, Anda akan membuat CSR dan pasangan kunci secara lokal di server tempat sertifikat SSL akan dipasang. Namun, itu bukan aturan yang ketat. Anda dapat membuat CSR dan pasangan kunci di satu server dan menginstal sertifikat di server lain. Namun, itu membuat segalanya menjadi lebih rumit. Kami akan membahas skenario itu juga.

Secure Socket Layer (SSL) menggunakan dua string panjang dari angka yang dibuat secara acak, yang dikenal sebagai pribadi dan kunci publik . Kunci publik tersedia untuk domain publik karena merupakan bagian dari sertifikat SSL Anda dan diketahui oleh server Anda.

Kunci pribadi harus sesuai dengan CSR yang dibuat dengannya dan, pada akhirnya, harus cocok dengan sertifikat yang dibuat dari CSR. Jika kunci pribadi tidak ada, itu bisa berarti bahwa sertifikat SSL tidak diinstal pada server yang sama yang membuat Permintaan Penandatanganan Sertifikat.

CSR biasanya berisi informasi berikut:

Parameter Deskripsi Contoh Nilai
Nama Umum atau FQDN FQDN adalah nama domain yang sepenuhnya memenuhi syarat untuk situs web Anda. Itu harus sama dengan yang diketik pengguna di browser web. www.phoenixnap.com
Nama Organisasi (mis., perusahaan) Nama lengkap resmi organisasi Anda, termasuk akhiran seperti LLC, Corp, dll. PhoenixNAP, LLC
Nama Unit Organisasi Divisi dalam organisasi Anda yang menangani sertifikat ini. NOC
Nama Lokalitas (mis., kota) Kota tempat organisasi Anda berada. Phoenix
Negara Bagian/Wilayah/Provinsi (nama lengkap) Negara bagian atau wilayah tempat organisasi Anda berada. Arizona
Kode Negara (kode 2 huruf) Negara tempat organisasi Anda berada. Selalu dimasukkan sebagai kode ISO dua huruf. AS
Alamat Email Alamat email yang digunakan untuk menghubungi webmaster situs. [dilindungi email]
Kunci Publik Kunci yang dibuat secara otomatis yang dibuat dengan CSR dan masuk ke dalam sertifikat. Blok teks yang disandikan mirip dengan kunci pribadi. Lihat contoh kunci pribadi di bawah.

Harap dicatat ada konvensi penamaan tertentu yang harus dipertimbangkan. Nama Organisasi dan Nama Unit Organisasi tidak boleh mengandung karakter berikut:< > ~ ! @ # $ % ^ * / \ ( ) ?.,&

Cara Menghasilkan CSR

Permintaan penandatanganan sertifikat (CSR) dibuat dengan sepasang kunci – kunci publik dan pribadi. Hanya kunci publik yang dikirim ke Otoritas Sertifikat dan disertakan dalam sertifikat SSL, dan kunci tersebut bekerja bersama dengan kunci pribadi Anda untuk mengenkripsi koneksi. Siapa pun dapat memiliki akses ke kunci publik Anda, dan itu memverifikasi bahwa sertifikat SSL itu asli.

Kunci pribadi adalah blok teks yang disandikan yang, bersama dengan sertifikat, memverifikasi koneksi aman antara dua mesin. Itu tidak boleh diakses secara publik, dan tidak boleh dikirim ke CA.

Integritas sertifikat bergantung pada fakta bahwa hanya Anda yang mengetahui kunci pribadi. Jika pernah disusupi atau hilang, kunci kembali sertifikat Anda dengan kunci pribadi baru sesegera mungkin. Sebagian besar CA tidak mengenakan biaya untuk layanan ini.

Opsi 1:Buat CSR

Hal pertama yang harus dilakukan adalah membuat pasangan kunci RSA 2048-bit secara lokal. Pasangan ini akan berisi kunci pribadi dan publik Anda. Anda dapat menggunakan alat kunci Java atau alat lain, tetapi kami akan bekerja dengan OpenSSL.

Untuk menghasilkan kunci publik dan pribadi dengan permintaan penandatanganan sertifikat (CSR), jalankan perintah OpenSSL berikut:

openssl req -out certificatesigningrequest.csr -new -newkey rsa:2048 -nodes -keyout privatekey.key

Setelah Anda membuat CSR dengan pasangan kunci, sulit untuk melihat informasi apa yang dikandungnya karena tidak akan dalam format yang dapat dibaca manusia. Anda dapat dengan mudah memecahkan kode CSR di server Anda menggunakan perintah OpenSSL berikut:

openssl req -in server.csr -noout -text

Disarankan untuk memecahkan kode CSR dan memverifikasi bahwa itu berisi informasi yang benar tentang organisasi Anda sebelum dikirim ke otoritas sertifikat. Ada banyak dekoder CSR di web yang dapat membantu Anda melakukan hal yang sama hanya dengan menyalin dan menempelkan konten file CSR Anda.

Demi kenyamanan Anda, kami telah mencantumkan dua (2) alat dekoder CSR online:

  • Pembelanja SSL
  • Kestrel Merah

Opsi 2:Buat CSR untuk Kunci Pribadi yang Ada

Disarankan untuk mengeluarkan kunci pribadi baru setiap kali Anda membuat CSR. Jika, karena alasan apa pun, Anda perlu membuat permintaan penandatanganan sertifikat untuk kunci pribadi yang ada, gunakan perintah OpenSSL berikut:

openssl req -out CSR.csr -key privateKey.key -new

Opsi 3:Buat CSR untuk Sertifikat dan Kunci Pribadi yang Ada

openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key

Satu skenario yang tidak mungkin di mana ini mungkin berguna adalah jika Anda perlu memperbarui sertifikat yang ada, tetapi baik Anda maupun otoritas sertifikat Anda tidak memiliki CSR asli. Ini akan mengekstrak informasi tentang domain dan organisasi Anda dari sertifikat SSL dan menggunakannya untuk membuat CSR baru, sehingga menghemat waktu Anda.

Opsi 4:Buat Sertifikat yang Ditandatangani Sendiri

Sertifikat yang ditandatangani sendiri biasanya digunakan untuk lingkungan pengujian dan pengembangan dan di intranet. Mari buat sertifikat yang ditandatangani sendiri menggunakan perintah OpenSSL berikut:

openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt

-days parameter diatur ke 365, artinya sertifikat berlaku untuk 365 hari ke depan. -x509 parameter menunjukkan bahwa ini akan menjadi sertifikat yang ditandatangani sendiri. CSR sementara dibuat, dan digunakan hanya untuk mengumpulkan informasi yang diperlukan.

Otoritas Sertifikat tidak memverifikasi sertifikat yang ditandatangani sendiri. Dengan demikian, mereka tidak seaman sertifikat terverifikasi. Jika CA belum menandatangani sertifikat, setiap browser utama akan menampilkan pesan kesalahan "sertifikat tidak tepercaya", seperti yang terlihat pada gambar di bawah.

Jika Anda tidak ingin melindungi kunci pribadi Anda dengan kata sandi, Anda dapat menambahkan -nodes parameter.

Opsi 5:Buat Sertifikat yang Ditandatangani Sendiri dari Kunci Pribadi dan CSR yang Ada

Jika Anda sudah memiliki CSR dan pribadi dan perlu membuat sertifikat yang ditandatangani sendiri, gunakan perintah berikut:

openssl x509 \ -signkey domain.key \ -in domain.csr \ -req -days 365 -out domain.crt

-days parameter disetel ke 365, artinya sertifikat berlaku selama 365 hari ke depan.

Cara Menyalin Isi File CSR

Buka direktori tempat file CSR Anda berada. Ketik perintah berikut:

sudo cat domain.csr

Ganti domain dengan parameter FQDN CSR Anda. Perintah ini akan menampilkan isi dari file CSR. Salin semua konten, mulai dari "MULAI PERMINTAAN SERTIFIKAT" dan diakhiri dengan "AKHIR PERMINTAAN SERTIFIKAT".

Perpanjangan Sertifikat – Jangan Gunakan Kembali CSR Lama

Hanya karena beberapa server web mengizinkan penggunaan CSR lama untuk pembaruan sertifikat tidak berarti Anda harus menggunakannya. Sebagai tindakan pencegahan keamanan, selalu buat CSR dan kunci pribadi baru saat Anda memperbarui sertifikat. Berpegang teguh pada kunci pribadi yang sama adalah jalan yang diaspal dengan kerentanan keamanan.

Juga, disarankan untuk memperbarui sertifikat SSL sebelum tanggal kedaluwarsa. Jika tidak, pembelian sertifikat baru akan diperlukan.

Cara Memverifikasi CSR, Sertifikat SSL, dan Kunci Anda

Seperti yang telah kami sebutkan, akan lebih bijaksana untuk memeriksa informasi yang diberikan dalam CSR sebelum mengajukan permohonan sertifikat. Gunakan perintah berikut untuk memverifikasi permintaan penandatanganan sertifikat, sertifikat SSL, dan kunci Anda:

CSR

openssl req -text -noout -verify -in server.csr

Perintah ini akan memverifikasi CSR dan menampilkan data yang diberikan dalam permintaan.

Kunci

Perintah berikut akan memverifikasi kunci dan validitasnya:

openssl rsa -in server.key -check

Sertifikat SSL

Saat Anda perlu memeriksa sertifikat, tanggal kedaluwarsa, dan siapa yang menandatanganinya, gunakan perintah OpenSSL berikut:

openssl x509 -in server.crt -text -noout

Kunci Pribadi

Kunci pribadi dikodekan dan dibuat dalam format PEM berbasis Base-64 yang tidak dapat dibaca manusia. Anda dapat membukanya dengan editor teks apa pun, tetapi yang akan Anda lihat hanyalah beberapa lusin baris yang tampaknya merupakan simbol acak yang diapit dengan judul pembuka dan penutup. Lihat di bawah contoh kunci pribadi:

-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCVqGpH2S7F0CbEmQBgmbiDiOOGxhVwlG+yY/6OBQoPKcx4Jv2h
vLz7r54ngjaIqnqRNP7ljKjFLp5zhnAu9GsdwXbgLPtrmMSB+MVFHTJvKjQ+eY9p
dWA3NbQusM9uf8dArm+3VrZxNHQbVGXOIAPNHTO08cZHMSqIDQ6OvLma7wIDAQAB
AoGAbxKPzsNh826JV2A253svdnAibeSWBPgl7kBIrR8QWDCtkH9fvqpVmHa+6pO5
5bShQyQSCkxa9f2jnBorKK4+0K412TBM/SG6Zjw+DsZd6VuoZ7P027msTWQrMBxg
Hjgs7FSFtj76HQ0OZxFeZ8BkIYq0w+7VQYAPBWEPSqCRQAECQQDv09M4PyRVWSQM
S8Rmf/jBWmRnY1gPPEOZDOiSWJqIBZUBznvOPOOQSH6B+vee/q5edQA2OIaDgNmn
AurEtUaRAkEAn7/65w+Tewr89mOM0RKMVpFpwNfGYAj3kT1mFEYDq+iNWdcSE6xE
2H0w3YEbDsSayxc36efFnmr//4ljt4iJfwJAa1pOeicJhIracAaaa6dtGl/0AbOe
f3NibugwUxIGWkzlXmGnWbI3yyYoOta0cR9fvjhxV9QFomfTBcdwf40FgQJAH3MG
DBMO77w8DK2QfWBvbGN4NFTGYwWg52D1Bay68E759OPYVTMm4o/S3Oib0Q53gt/x
TAUq7IMYHtCHZwxkNQJBAORwE+6qVIv/ZSP2tHLYf8DGOhEBJtQcVjE7PfUjAbH5
lr++9qUfv0S13gXj5weio5dzgEXwWdX2YSL/asz5DhU=
-----END RSA PRIVATE KEY-----

Dalam kebanyakan kasus, Anda tidak perlu mengimpor kode kunci pribadi ke dalam sistem file server, karena kode tersebut akan dibuat di latar belakang saat Anda membuat CSR dan kemudian disimpan ke server secara otomatis. Selama pemasangan sertifikat SSL, sistem mengambil kuncinya.

Verifikasi Apakah Sertifikat dan Kunci Pribadi Cocok

Untuk memverifikasi, Anda perlu mencetak checksum md5 dan membandingkannya. Jalankan perintah berikut:

openssl x509 -noout -modulus -in server.crt| openssl md5
openssl rsa -noout -modulus -in server.key| openssl md5

Memecahkan Masalah SSL

Sistem Tidak Mengambil Kunci Pribadi Secara Otomatis

Beberapa sistem tidak mengotomatiskan prosedur pengambilan kunci pribadi. Selain itu, jika Anda perlu menginstal sertifikat yang ada di server lain, Anda jelas tidak dapat mengharapkan bahwa itu akan mengambil kunci pribadi. Kesulitan utama di sini adalah bagaimana menemukan lokasi kunci yang tepat. Cara Anda dapat mengambil kunci bergantung pada OS server yang digunakan dan apakah antarmuka baris perintah atau panel kontrol hosting web jenis tertentu digunakan untuk pembuatan CSR.

Saya Perlu Menemukan Kunci Pribadi yang Saya Pasang Sebelumnya

Jika sertifikat Anda telah diinstal, ikuti langkah-langkah di bawah ini yang akan membantu Anda menemukan kunci pribadi Anda di sistem operasi populer.

Nginx

Anda seharusnya dapat menemukan lokasi kunci pribadi server Anda di file host virtual domain Anda.

Navigasikan ke lokasi root server situs (biasanya /var/www/directory ) dan buka file konfigurasi utama situs. Cari ssl_certificate_key direktif yang akan menyediakan jalur file dari kunci pribadi.

Jika Anda tidak dapat menemukan ssl_certificate_key direktif, mungkin ada file konfigurasi terpisah untuk detail SSL. Cari sesuatu yang deskriptif, seperti ssl.conf .

Apache

Saat menggunakan perpustakaan OpenSSL di Apache, kunci pribadi disimpan ke /usr/local/ssl secara default. Jalankan openssl version -a , perintah OpenSSL yang mengidentifikasi versi OpenSSL yang Anda jalankan.

Output akan menampilkan direktori yang menyimpan kunci pribadi. Lihat contoh output di bawah ini:

OpenSSL 1.0.2g  1 Dec 2016

built on: reproducible build, date unspecified

platform: debian-amd64

options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)

compiler: cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -

D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-

strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-

Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -

DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -

DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -

DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM

OPENSSLDIR: "/usr/lib/ssl"

Baris terakhir OPENSSLDIR mendefinisikan jalur file. Dalam contoh yang diberikan, ini adalah lokasi default /usr/lib/ssl .

Jika Anda tidak membuat CSR dengan OpenSSL, Anda perlu menemukan dan mengakses file konfigurasi Apache utama Anda, yaitu apache2.conf atau httpd.conf . Arahan SSLCertficateKeyFile akan menentukan jalur file dari kunci pribadi.

Windows (IIS)

Pada server yang menjalankan Layanan Informasi Internet Windows, sistem operasi menyimpan kunci pribadi di folder tersembunyi, sama seperti OS Windows biasa yang menyimpan data sistem penting.

Namun, dengan mengekspor .pfx file, Anda dapat mengambil kunci pribadi dan sertifikat. Untuk melakukannya ikuti langkah-langkah di bawah ini:

  1. Buka Konsol Manajemen Microsoft (MMC).
  2. Terletak di bawah Console Root, perluas Sertifikat (Komputer Lokal) pohon.
  3. Sertifikat Anda terletak di Pribadi atau folder Hosting Web . Temukan sertifikat yang Anda cari. Anda dapat mengidentifikasi setiap sertifikat dengan Nama Umum (Domain).
  4. Klik kanan sertifikat yang ingin Anda ekspor, lalu pilih Semua Tugas> Ekspor .
  5. Ikuti wizard terpandu untuk mengekspor .pfx berkas.

Anda memiliki apa yang Anda butuhkan jika ingin menyimpan cadangan atau menginstal sertifikat di server Windows lain.

Jika Anda perlu menginstal sertifikat di server lain yang tidak menjalankan Windows (mis., Apache), Anda perlu mengonversi file .pfx dan memisahkan file .key dan .crt/.cer. Anda dapat melakukannya dengan OpenSSL.

Bagaimana Cara Memindahkan Sertifikat SSL dari Server Windows ke Server Non-Windows?

Untuk memindahkan sertifikat dari server Windows ke server non-Windows, Anda perlu mengekstrak kunci pribadi dari file .pfx menggunakan OpenSSL.

  1. Setelah Anda mengunduh file .pfx seperti yang dijelaskan pada bagian di atas, jalankan perintah OpenSSL berikut untuk mengekstrak kunci pribadi dari file:
openssl pkcs12 -in mypfxfile.pfx -out privatekey.txt -nodes

Dimana mypfxfile.pfx adalah cadangan sertifikat server Windows Anda.

  1. Perintah ini akan membuat privatekey.txt berkas keluaran. Gunakan editor teks untuk membuka file, dan Anda akan melihat kunci pribadi di bagian atas daftar dalam format standar:
-----BEGIN RSA PRIVATE KEY-----
(Encrypted Text Block)
-----END RSA PRIVATE KEY-----
  1. Salin kunci pribadi, termasuk tag "BEGIN" dan "END", dan tempel ke file teks baru. Simpan file teks sebagai Your_Domain_Name.key.

Saya Tidak Dapat Menemukan Kunci Pribadi Saya

Jika Anda tidak dapat menemukan kunci pribadi, carilah petunjuk. Satu hal yang perlu diperhatikan adalah apakah server menyediakan koneksi HTTPS yang berfungsi. Jika demikian, maka kunci pribadi dapat diakses ke server dan kemungkinan besar berada di suatu tempat di server.

Langkah logisnya adalah menelusuri .key mengajukan. Dalam beberapa kasus, OpenSSL menyimpan file .key ke direktori yang sama dari tempat OpenSSL -req perintah dijalankan.

Jika Anda mencoba semuanya dan masih tidak dapat menemukan file .key, ada kemungkinan kecil bahwa kunci tersebut hilang. Jangan panik, hal cerdas yang harus dilakukan adalah membuat CSR baru dan menerbitkan ulang sertifikat. Pastikan untuk mengingat lokasi kunci pribadi kali ini.

Perintah OpenSSL untuk Mengonversi CSR

Jika Anda bekerja dengan server Apache, permintaan penandatanganan sertifikat (CSR) dan kunci disimpan dalam format PEM. Tetapi bagaimana jika Anda ingin mentransfer CSR ke server Tomcat atau Windows IIS? Nah, Anda harus mengonversi file PEM standar ke file PFX. Perintah berikut akan membantu Anda melakukan hal itu.

Mengonversi PEM CSR dan kunci pribadi menjadi PKCS12 (.pfx .p12)

File FKCS12 digunakan untuk mengekspor/mengimpor sertifikat di Windows IIS.

openssl pkcs12 \ -inkey domain.key \ -in domain.crt \ -export -out domain.pfx

Ini akan mengambil kunci pribadi dan CSR dan mengubahnya menjadi satu file .pfx. Anda dapat mengatur frasa sandi ekspor, tetapi Anda dapat mengosongkannya. Harap perhatikan bahwa dengan menggabungkan string karakter sertifikat ujung ke ujung dalam satu file PEM, Anda dapat mengekspor rantai sertifikat ke format file .pfx.

Mengonversi PKCS12 menjadi PEM CSR

openssl pkcs12 \ -in domain.pfx \ -nodes -out domain.combined.crt

Jika file .pfx berisi rantai sertifikat, file .crt PEM juga akan memiliki beberapa item.

Konversi PEM ke DER

DER adalah format biner yang biasanya digunakan dengan Java. Untuk mengonversi file PEM ASCII ke DER, gunakan perintah OpenSSL berikut:

openssl x509 \ -in domain.crt \ -outform der -out domain.der

Konversi DER ke PEM

Jika Anda perlu mengonversi file .der ke PEM, gunakan perintah OpenSSL berikut:

openssl x509 \ -inform der -in domain.der \ -out domain.crt

Mengenkripsi Kunci Pribadi yang Tidak Terenkripsi

Perintah OpenSSL berikut akan mengambil kunci pribadi yang tidak terenkripsi dan mengenkripsinya dengan frasa sandi yang Anda tentukan.

openssl rsa -des3 \ -in unencrypted.key \ -out encrypted.key

Tentukan frasa sandi untuk mengenkripsi kunci pribadi.

Dekripsi Kunci Pribadi Terenkripsi

Perintah OpenSSL berikut akan mengambil kunci pribadi terenkripsi dan mendekripsinya.

openssl rsa \ -in encrypted.key \ -out decrypted.key

Saat diminta, masukkan frasa sandi untuk mendekripsi kunci pribadi.


Ubuntu
  1. Cara mengamankan akun yang mendukung cPanel dengan sertifikat SSL Sectigo

  2. Bagaimana cara Memeriksa apakah Sertifikat SSL SHA1 atau SHA2 menggunakan OpenSSL?

  3. Cara Mendaftar Sertifikat SSL di Plesk

  1. Bagaimana mengelola Lets Encrypt sertifikat SSL/TLS dengan certbot

  2. Bagaimana cara memesan Sertifikat SSL pribadi melalui Panel Kontrol?

  3. Kesalahan peramban sertifikat SSL

  1. Cara mengamankan koneksi dengan sertifikat SSL/TLS

  2. Infografis-Cara Menerapkan Sertifikat SSL

  3. Cara memasang Sertifikat SSL di Plesk