Cara ini akan memandu Anda mengekstraksi informasi dari file PKCS # 12 dengan OpenSSL. PKCS # 12 (juga dikenal sebagai PKCS12 atau PFX) adalah format biner untuk menyimpan rantai sertifikat dan kunci pribadi dalam satu file tunggal yang dapat dienkripsi. File PKCS # 12 biasanya digunakan untuk mengimpor dan mengekspor sertifikat dan kunci pribadi pada Windows dan komputer MacOS, dan biasanya memiliki ekstensi nama file .p12
or .pfx
.
Untuk cara yang lebih bermanfaat dan berita keamanan siber terbaru, daftar ke buletin SSL.com di sini:
Apa itu OpenSSL?
OpenSSL adalah toolkit baris perintah sumber terbuka yang sangat berguna untuk bekerja dengannya X.509 sertifikat, permintaan penandatanganan sertifikat (CSRs), dan kunci kriptografi. Jika Anda menggunakan varian UNIX seperti Linux atau macOS, OpenSSL mungkin sudah diinstal di komputer Anda. Jika Anda ingin menggunakan OpenSSL di Windows, Anda dapat mengaktifkan Subsistem Linux Windows 10 atau instal Cygwin. Anda juga bisa dengan mudah membuat file PKCS # 12 dengan openSSL.
SSL.com menyediakan berbagai macam SSL /TLS sertifikat server untuk situs web HTTPS.
Video
Dalam semua contoh yang ditunjukkan di bawah ini, gantilah nama-nama file yang sebenarnya Anda kerjakan INFILE.p12
, OUTFILE.crt
, dan OUTFILE.key
.
Lihat Informasi PKCS # 12 di Layar
Untuk membuang semua informasi dalam file PKCS # 12 ke layar masuk Format PEM, gunakan perintah ini:
openssl pkcs12 -info -di INFILE.p12 -nodes
Anda kemudian akan diminta memasukkan kata sandi file PKCS # 12:
Masukkan Kata Sandi Impor:
Ketikkan kata sandi yang dimasukkan saat membuat file PKCS # 12 dan tekan enter
. OpenSSL akan menampilkan semua sertifikat dan kunci privat dalam file ke layar:
Atribut Tas lokalKeyID: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 subjek = / CN = Aaron Russell/emailAddress=*********@gmail.com penerbit = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com Klien Sertifikat Menengah CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jU1GUlLHANgUdGUGA ----- SUDAR 2
Enkripsi Kunci Pribadi
Jika Anda ingin mengenkripsi kunci pribadi dan melindunginya dengan kata sandi sebelum keluaran, cukup abaikan -nodes
tandai dari perintah:
openssl pkcs12 -info -di INFILE.p12
Dalam hal ini, Anda akan diminta untuk memasukkan dan memverifikasi kata sandi baru setelah OpenSSL mengeluarkan sertifikat apa pun, dan kunci pribadi akan dienkripsi (perhatikan bahwa teks kunci dimulai dengan -----BEGIN ENCRYPTED PRIVATE KEY-----
):
Masukkan lulus frase PEM: Memverifikasi - Masukkan kalimat sandi PEM: ----- BEGIN dienkripsi PRIVATE KEY ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- END dienkripsi KUNCI PRIVATE -----
Ekstrak Hanya Sertifikat atau Kunci Pribadi
Jika Anda hanya ingin mengeluarkan kunci pribadi, tambahkan -nocerts
ke perintah:
openssl pkcs12 -info -di INFILE.p12 -nodes -nocerts
Jika Anda hanya membutuhkan sertifikat, gunakan -nokeys
(dan karena kami tidak peduli dengan kunci privat, kami juga dapat mengabaikannya dengan aman -nodes
):
openssl pkcs12 -info -di INFILE.p12 -nokeys
Simpan Sertifikat dan Kunci Pribadi ke File
Anda dapat mengekspor sertifikat dan kunci pribadi dari file PKCS # 12 dan menyimpannya dalam format PEM ke file baru dengan menentukan nama file output:
openssl pkcs12 -dalam INFILE.p12 -keluar OUTFILE.crt -node
Sekali lagi, Anda akan diminta memasukkan kata sandi file PKCS # 12. Seperti sebelumnya, Anda dapat mengenkripsi kunci privat dengan menghapus -nodes
tandai dari perintah dan / atau tambahkan -nocerts
or -nokeys
untuk hanya mengeluarkan kunci pribadi atau sertifikat. Jadi, untuk menghasilkan file kunci pribadi, kita dapat menggunakan perintah ini:
openssl pkcs12 -di INFILE.p12 -keluar OUTFILE.key -nodes -nocerts
Dan untuk membuat file termasuk hanya sertifikat, gunakan ini:
openssl pkcs12 -di INFILE.p12 -keluar OUTFILE.crt -nokeys
Konversi Kunci Pribadi ke Format PKCS # 1
Semua contoh di atas mengeluarkan kunci pribadi dalam default OpenSSL PKCS # 8 format. Jika Anda tahu Anda perlu PKCS # 1 sebagai gantinya, Anda dapat menyalurkan output dari utilitas PKCS # 12 OpenSSL ke utilitas RSA atau EC-nya tergantung pada jenis kunci. Kedua perintah di bawah ini akan mengeluarkan file kunci dalam format PKCS # 1:
RSA
openssl pkcs12 -di INFILE.p12 -nodes -nocerts | membuka rs -out OUTFILE.key
PAUD
openssl pkcs12 -di INFILE.p12 -nodes -nocerts | openssl ec-out OUTFILE.key
Catatan: Anda dapat mengetahui perbedaan antara file kunci pribadi PKCS # 8 dan PKCS # 1 dengan melihat baris teks pertama. File PKCS # 1 akan menentukan algoritme:
-----BEGIN RSA PRIVATE KEY-----
File PKCS # 8 tidak menunjukkan algoritme, dan mungkin juga dienkripsi:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----