Sertifikaları P12'den özel anahtar olmadan dışa aktarma
Bir PKCS12 paketi anahtarları ve sertifikaları birlikte tutar. Önce yapıyı okuyun, sonra korumayı kaldırmak yerine sertifikaları -nokeys ile seçin.
Destek talebi VPN paketinin içinde hangi sertifikanın bulunduğunu soruyor ve ilk dürtü her şeyi dışa aktarıp eklemek. Bir P12 dosyası sertifikaları ve özel anahtar malzemesini tek bir kapsayıcıda paketler, bu yüzden her şeyi dışa aktarmak tam olarak göndermemeniz gereken şeydir. Soruyu yanıtlayan komut bir seçim sorunudur, dönüştürme sorunu değil. Dört bayrak kapsayıcının hangi yarısını alacağınızı belirler ve bunlardan ikisi olduklarından daha güvenli kulağa gelir.
Kapsayıcıyı boşaltmak yerine okumaya başlayın.
Bir PKCS12 dosyası gerçekte ne taşır
Bir PKCS12 kapsayıcısı bir veya daha fazla sertifika, muhtemelen bir özel anahtar ve içerik üzerinde bir message authentication code tutar. Sertifikalar istemci kimliğinizin yaprak sertifikasını ve onu bir CA'ya zincirleyen ara sertifikaları içerebilir. Anahtar, mevcut olduğunda, dosyayı belge değil sır yapan şeydir.
Bu ayrım -nokeys'in var olmasının ve bu görevin ihtiyaç duyduğu bayrağın bu olmasının nedenidir.
Paketi anahtarı yazmadan okuyun
İnceleme biçimi yapıyı ve algoritma ayrıntılarını yazdırır ve hiçbir şey yazmaz: openssl pkcs12 -in client.p12 -info -noout. İçe aktarma parolasını sorar, ki bu değer için doğru yerdir, ve dosyanın hiç anahtar içerip içermediğini söyler. Parola yazılamıyorsa -passin env:PKCS12_PASS kullanın, çünkü bir shell komutunun içindeki parola süreç listesindeki paroladır. Bu adım hiçbir şey dışa aktarmaz ve bütün mesele de budur.
Çıktıyı üç şey için okuyun: kaç sertifika var, bir anahtar var mı ve onu hangi algoritmalar koruyor.
-nokeys kullanın ve onu -nocerts ile karıştırmayın
-nokeys özel anahtarları hariç tutar ve sertifikaları bırakır. -clcerts bunu istemci sertifikalarına daraltır, -cacerts CA sertifikalarına daraltır ve bu ikisi alternatif değil filtredir. -nocerts aynı fikrin güvenli yazımı gibi okunur ve tersini anlatır: sertifika yok, bu da yalnızca anahtarları bırakır. Onu bir sertifika dışa aktarımına karıştırmak, özel anahtarın diske düşme biçimidir.
Bir sertifika dosyası ve bir CA dosyası üreten ve başka hiçbir şey üretmeyen iki satırlık biçim şudur:
openssl pkcs12 -in client.p12 -nokeys -clcerts -out client-certificates.pem
openssl pkcs12 -in client.p12 -nokeys -cacerts -out ca-certificates.pemEski paketler, daha eski şifrelemelerini okumak için OpenSSL 3'te -legacy gerektirir ve bu bayrak ayrıştırıcının neyi kabul ettiğini değiştirir, neyi yaydığını değil. Ayrıştırma desteklenmeyen algoritma hatasıyla başarısız olursa -legacy eklemek doğru ilk adımdır, MAC denetimini atlamak değil.
Çıktıyı denetleyin, çıkış kodunu değil
Sıfır çıkış durumu komutun çalıştığını söyler, dosyanın beklediğinizi içerdiğini değil. Çıktıdaki sertifikaları sayın ve subject ile tarihleri okuyun: openssl x509 -in client-certificates.pem -noout -subject -dates -fingerprint. Parmak izini destek ekibinin beklediğiyle karşılaştırın, çünkü iki istemci sertifikası taşıyan bir paket iki bloklu bir dosya üretir ve çoğu araç yalnızca ilkini okur. Amaç, güven ve anahtar eşleşmesi yine ayrı testlerdir.
Ayrıştırılabilen bir sertifika, ayrıştırılabilen bir sertifikadır. VPN'in kabul ettiği bir sertifika değildir.
Dosyalara gerçekten ihtiyacınız olup olmadığına karar verin
Alıcı istemci PKCS12'yi doğrudan içe aktarıyorsa, özgün paketi parolayı ayrı tutarak onaylı bir kanaldan göndermek daha basittir ve korumayı sürdürür. Çıkarma, inceleme, PEM'e ihtiyaç duyan bir istemci veya belirli bir artefakt isteyen bir destek vakası içindir. Her çıkarma bir katmanı kaldırır ve bir nedeni olmalıdır.
Genel sertifikalar özel anahtarı içermez, ancak adları ve kuruluş bilgilerini içerir. Dosya yerine talebin istediği alanları paylaşın, istenen dosyanın kendisi değilse.