Bir .pfx (Kişisel Bilgi Değişimi) dosyasını .cer (Güvenlik Sertifikası) dosyasına dönüştürmek mümkün mü? Yanılmıyorsam, bir .cer bir şekilde .pfx içine gömülü değil mi? Mümkünse çıkarmak için bir yol istiyorum.
Bir .pfx (Kişisel Bilgi Değişimi) dosyasını .cer (Güvenlik Sertifikası) dosyasına dönüştürmek mümkün mü? Yanılmıyorsam, bir .cer bir şekilde .pfx içine gömülü değil mi? Mümkünse çıkarmak için bir yol istiyorum.
Yanıtlar:
basitçe inandığım yolu Windows Yönetim Konsolu'ndaki sertifika yöneticisini kullanarak içe aktarıp sonra dışa aktarmak.
PFX dosyaları PKCS # 12 Kişisel Bilgi Değişimi Sözdizimi Standart paketleridir. X.509 sertifikalarına ve sertifika yetkilisi zincirine (set sertifikalar) eşlik eden isteğe bağlı sayıda özel anahtar içerebilir.
İstemci sertifikalarını ayıklamak istiyorsanız, OpenSSL'nin PKCS12 aracını kullanabilirsiniz .
openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts
Yukarıdaki komut sertifika (lar) ı PEM formatında verecektir. ".Crt" dosya uzantısı hem macOS hem de Window tarafından işlenir.
DER kodlu dosyalar için geleneksel olarak kullanılan soruda ".cer" uzantısından bahsediyorsunuz. İkili kodlama. Önce ".crt" dosyasını deneyin ve kabul edilmezse, PEM'den DER'e dönüştürmek kolaydır:
openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer
PowerShell'de çalışıyorsanız bir DER kodlu (ikili) sertifika dosyası OutputCert.der oluşturmak için pfx dosyası InputBundle.pfx verildiğinde aşağıdakine benzer bir şey kullanabilirsiniz :
Get-PfxCertificate -FilePath InputBundle.pfx |
Export-Certificate -FilePath OutputCert.der -Type CERT
Netlik için satırsonu eklendi, ancak elbette bunların hepsini tek bir satırda yapabilirsiniz.
Sertifikaya ASCII / Base64 kodlu PEM biçiminde ihtiyacınız varsa, başka bir yerde belgelendiği gibi bunu yapmak için ek adımlar atabilirsiniz, örneğin: /superuser/351548/windows-integrated-utility-to-convert -der-için-pem
DER kodludan farklı bir biçime dışa aktarmanız gerekiyorsa, Dışa -Type
Aktar-Sertifika parametresini, .NET tarafından desteklenen türleri kullanarak aşağıdaki gibi değiştirebilirsiniz help Export-Certificate -Detailed
:
-Type <CertType>
Specifies the type of output file for the certificate export as follows.
-- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates.
-- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate.
-- P7B: A PKCS#7 file format which can contain one or more certificates.
En basit olduğunu düşündüğüm bir yöntem eklemek istedim.
Sadece pfx dosyasına sağ tıklayın, sihirbazı takip ederek "Yükle" ye tıklayın ve bir mağazaya ekleyin (Kişisel mağazaya ekledim).
Başlat menüsünde certmgr.msc yazın ve CertManager programına gidin.
Pfx sertifikanızı bulun (üstteki sekmeler çeşitli mağazalardır), dışa aktar düğmesini tıklayın ve sihirbazı izleyin (.CER olarak dışa aktarma seçeneği vardır)
Esasen Andrew'un cevabı ile aynı şeyi yapar, ancak Windows Yönetim Konsolu'nu kullanmaktan kaçınır (doğrudan içe / dışa aktarmaya gider).
openssl rsa -in f.pem -inform PEM -out f.der -outform DER