Bu nasıl yapılır, OpenSSL ile bir PKCS # 12 dosyasından bilgi ayıklama konusunda size yol gösterecektir. PKCS # 12 (PKCS12 veya PFX olarak da bilinir), bir sertifika zincirini ve özel anahtarı şifrelenebilir tek bir dosyada saklamak için ikili bir biçimdir. PKCS # 12 dosyaları, Windows ve macOS bilgisayarlarda sertifikaları ve özel anahtarları almak ve vermek için yaygın olarak kullanılır ve genellikle dosya adı uzantılarına sahiptir. .p12
or .pfx
.
Daha yararlı nasıl yapılırlar ve en son siber güvenlik haberleri için, SSL.com'un haber bültenine buradan kaydolun:
OpenSSL nedir?
OpenSSL, aşağıdakilerle çalışmak için çok kullanışlı bir açık kaynaklı komut satırı araç setidir X.509 sertifikalar, sertifika imzalama istekleri (CSRs) ve kriptografik anahtarlar. Linux veya macOS gibi bir UNIX varyantı kullanıyorsanız, OpenSSL muhtemelen bilgisayarınızda zaten yüklüdür. OpenSSL'yi Windows'ta kullanmak isterseniz, etkinleştirebilirsiniz Windows 10'un Linux alt sistemi veya yükleyin cygwin. Ayrıca kolayca yaratmak openSSL ile bir PKCS # 12 dosyası.
SSL.com çok çeşitli SSL /TLS sunucu sertifikaları HTTPS web siteleri için.
Video
Aşağıda gösterilen tüm örneklerde, aslında üzerinde çalıştığınız dosyaların adlarının yerine INFILE.p12
, OUTFILE.crt
, ve OUTFILE.key
.
PKCS # 12 Bilgilerini Ekranda Görüntüleyin
Bir PKCS # 12 dosyasındaki tüm bilgileri ekrandaki PEM biçimi, şu komutu kullanın:
openssl pkcs12 - bilgi - INFILE.p12 - düğümler
Daha sonra sizden PKCS # 12 dosyasının şifresi istenir:
Alma Parolasını Girin:
PKCS # 12 dosyasını oluştururken girilen şifreyi yazın ve tuşuna basın. enter
. OpenSSL, dosyadaki tüm sertifikaları ve özel anahtarları ekrana çıkarır:
Çanta Nitelikleri localAnahtar Kimliği: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 konu = / CN = Aaron Russell/emailAddress=*********@gmail.com veren = / C = ABD / ST = Teksas / L = Houston / Ç = SSL Corp / CN = SSL.com İstemci Sertifikası Ara CA RSA R1 ----- BEGIN SERTİFİKA ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2r83 ++ biSEYFIoorl0jUg 6MlXNUMXrXNUMX ++
Özel Anahtarı Şifrele
Özel anahtarı şifrelemek ve çıktı almadan önce bir parolayla korumak istiyorsanız, -nodes
komuttan bayrak:
openssl pkcs12 -bilgi - INFILE.p12
Bu durumda, OpenSSL herhangi bir sertifika çıkardıktan sonra yeni bir parola girmeniz ve doğrulamanız istenir ve özel anahtar şifrelenir (anahtarın metninin -----BEGIN ENCRYPTED PRIVATE KEY-----
):
----- ŞİFRELİ ÖZEL ANAHTAR ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ BDW = ----- uca şifreli BEGIN: PEM geçişdeyimi giriniz - Doğrulama: PEM geçişdeyimi girin ÖZEL ANAHTAR-----
Yalnızca Sertifikaları veya Özel Anahtarı Ayıkla
Yalnızca özel anahtarın çıktısını almak istiyorsanız, -nocerts
komuta:
openssl pkcs12 -bilgi -içinde-INFILE.p12 -nodlar -nocerts
Yalnızca sertifikalara ihtiyacınız varsa, -nokeys
(ve özel anahtarla ilgilenmediğimizden, güvenli bir şekilde atlayabiliriz. -nodes
):
openssl pkcs12 -bilgi - INFILE.p12 -nokeys
Sertifikaları ve Özel Anahtarları Dosyalara Kaydetme
Sertifikaları ve özel anahtarı bir PKCS # 12 dosyasından dışa aktarabilir ve çıktı dosya adı belirterek PEM biçiminde yeni bir dosyaya kaydedebilirsiniz:
openssl pkcs12 -inFILE.p12 -out OUTFILE.crt -nodes
Yine, sizden PKCS # 12 dosyasının şifresi istenecektir. Daha önce olduğu gibi, özel anahtarı kaldırarak şifreleyebilirsiniz. -nodes
komuttan bayrak ekleyin ve / veya ekleyin -nocerts
or -nokeys
yalnızca özel anahtarı veya sertifikaları çıktılamak için. Özel bir anahtar dosyası oluşturmak için şu komutu kullanabiliriz:
openssl pkcs12 -inFILE.p12 -out OUTFILE.key -nodes -nocerts
Ve yalnızca sertifikaları içeren bir dosya oluşturmak için şunu kullanın:
openssl pkcs12 -inFILE.p12 -out OUTFILE.crt -nokeys
Özel Anahtarı PKCS # 1 Formatına Dönüştür
Yukarıdaki örnekler, OpenSSL'nin varsayılan özel anahtarını verir. PKCS # 8 biçim. İhtiyacınız olduğunu biliyorsanız PKCS # 1 bunun yerine, OpenSSL'nin PKCS # 12 yardımcı programının çıktısını, anahtar türüne bağlı olarak RSA veya EC yardımcı programına aktarabilirsiniz. Aşağıdaki komutların her ikisi de PKCS # 1 formatında bir anahtar dosya çıkaracaktır:
RSA
openssl pkcs12 -inFILE.p12 -düğümler -nocerts | openssl rsa -out OUTFILE.key
ECDSA
openssl pkcs12 -inFILE.p12 -düğümler -nocerts | openssl ec -out OUTFILE.key
Not: PKCS # 8 ve PKCS # 1 özel anahtar dosyaları arasındaki farkı, metnin ilk satırına bakarak anlatabilirsiniz. PKCS # 1 dosyaları algoritmayı belirleyecektir:
-----BEGIN RSA PRIVATE KEY-----
PKCS # 8 dosyaları algoritmayı göstermez ve ayrıca şifrelenebilir:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----