unable to load certificate OpenSSL komut satırında sıkça karşılaşılan bir hatadır: komut, verdiğiniz dosyayı X.509 sertifikası olarak ayrıştıramamıştır. Yanındaki ikinci satır (no start line, asn1 encoding routines gibi) gerçek biçim sorununu ele verir.
Adım 1: Dosya ne?
file sertifika.crt
head -c 60 sertifika.crt
- "PEM certificate" veya
-----BEGIN CERTIFICATE-----: doğru biçim. - "data" / okunmayan karakterler: büyük olasılıkla DER.
-----BEGIN PKCS7-----: sertifika paketi (.p7b).- .pfx/.p12: parola korumalı paket, anahtar da içerir.
-----BEGIN CERTIFICATE REQUEST-----: CSR, sertifika değil.-----BEGIN PRIVATE KEY-----: özel anahtar; sertifika komutuna verilmemeli.
Adım 2: Doğru komutla aç
- DER sertifika:
openssl x509 -inform der -in sertifika.cer -noout -subject -dates - P7B:
openssl pkcs7 -print_certs -in paket.p7b -out zincir.pem - PFX:
openssl pkcs12 -in paket.pfx -clcerts -nokeys -out sertifika.pem - Birden fazla sertifika içeren PEM için:
openssl crl2pkcs7 -nocrl -certfile zincir.pem | openssl pkcs7 -print_certs -noout
Adım 3: Dosya bozulmuşsa
- Başlık/bitiş satırlarının tam olduğunu doğrulayın (BEGIN ve END aynı tür olmalı).
- Kopyalama sırasında eklenen boşluk ve satır sonu sorunlarını temizleyin.
- Emin olamıyorsanız dosyayı sertifika sağlayıcısının panelinden yeniden indirin.
İpucu
Hata kurulum sırasında çıkıyorsa sadece hatalı dosyayla değil, yapılandırmadaki yolun gerçekten o dosyayı gösterip göstermediğiyle de ilgilenin. Sertifikanız düzgün yüklendikten sonra SSL denetleme aracıyla bitiş tarihi ve zinciri sınayın; diğer biçim dönüşümleri için bilgi bankasını tarayın.
Ek ipuçları
Windows'tan indirilen .cer dosyaları Base-64 ya da DER olabilir; Not Defteri'nde açıp BEGIN satırını görüyorsanız Base-64 (PEM) demektir. Dışa aktarma sihirbazında "Base-64 kodlu X.509" seçeneği OpenSSL ve Linux araçlarıyla uyumlu çıktı verir.