Tam sertifika zinciri ve özel anahtarı içeren bir PKCS12 dosyam var. Bir uygulama için 3 dosyaya bölmem gerekiyor. İhtiyacım olan 3 dosya şu şekilde (PEM formatında):
- şifrelenmemiş bir anahtar dosyası
- bir istemci sertifika dosyası
- bir CA sertifika dosyası (kök ve tüm ara)
Bu yapmak zorunda olduğum ortak bir görev, bu yüzden çıktısını el ile düzenlemeden bunu yapmanın bir yolunu arıyorum.
Aşağıdakileri denedim:
openssl pkcs12 -in <filename.pfx> -nocerts -nodes -out <clientcert.key>
openssl pkcs12 -in <filename.pfx> -clcerts -nokeys -out <clientcert.cer>
openssl pkcs12 -in <filename.pfx> -cacerts -nokeys -chain -out <cacerts.cer>
Bu iyi çalışır, ancak çıktı, uygulamanın nasıl işleneceğini bilmediği çanta özellikleri içerir.
Bazı araştırmalardan sonra, sonuçları çantadan çıkarmak için x509'dan geçen bir çözüm buldum.
openssl x509 -in <clientcert.cer> -out <clientcert.cer>
Bu çalışır, ancak cacert dosyasında bir sorunla karşılaşıyorum. Çıkış dosyası yalnızca zincirdeki 3 cerdan birini içerir.
Pkcs12 komutunun çıktısına bag özniteliklerini dahil etmekten kaçınmanın bir yolu var mı, yoksa x509 komut çıktısının tüm sertifikaları içermesinin bir yolu var mı? Ek olarak, x509 aracılığıyla çalıştırılması en basit çözümse, dosyayı iki kez yazmak yerine pkcs12'den x509'a çıktısını aktarmanın bir yolu var mı?