Yanıtlar:
OpenSSL Komut satırı aracını kullanabilirsiniz. Aşağıdaki komutlar hile yapmalı
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
Dosyanızın şifre korumalı olmasını vb. İstiyorsanız, ek seçenekler mevcuttur.
Tüm belgeleri buradan okuyabilirsiniz .
Bunu Linux'ta yapmanın başka bir perspektifi ... işte bunun nasıl yapılacağı, sonuçta ortaya çıkan tek dosyanın şifresi çözülmüş özel anahtarı içermesi, böylece HAProxy gibi bir şeyin sizden parola istemeden kullanabilmesi.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Daha sonra HAProxy'yi file.pem dosyasını kullanacak şekilde yapılandırabilirsiniz.
Bu, -nodes seçeneğinin sadece özel anahtar şifrelemesini atladığını fark edene kadar bu çoklu adımlara sahip olduğum önceki sürümden bir DÜZENLEME. Ama öğretmeye yardımcı olabileceği için onu burada bırakıyorum.
openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys
openssl pkcs12 -in file.pfx -out file.withkey.pem
openssl rsa -in file.withkey.pem -out file.key
cat file.nokey.pem file.key > file.combo.pem
Ardından, file.combo.pem dosyasını kullanmak için HAProxy'yi yapılandırabilirsiniz.
Bir dosyayı anahtarla ve diğerini anahtarsız olarak belirttiğiniz 2 ayrı adıma ihtiyaç duymanızın nedeni, hem şifrelenmiş hem de şifresi çözülmüş anahtara sahip bir dosyanız varsa, HAProxy gibi bir şeyin sizden parolayı yazmanızı istemeye devam etmesidir. onu kullanır.
Diğer cevapların doğru olmasına ve iyice açıklanmasına rağmen, onları anlamakta bazı zorluklar buldum. İşte kullandığım yöntem ( Buradan alınmıştır ):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
Özel anahtarı bir PFX'ten bir PEM dosyasına çıkarır:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
Sertifikayı verir (yalnızca genel anahtarı içerir):
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
Çıkarılan özel anahtardan parolayı (başka sözcüklerle ifade) kaldırır (isteğe bağlı):
openssl rsa -in key.pem -out server.key