error:0906D06C:PEM routines:PEM_read_bio:no start line hatası, OpenSSL'in okuduğu dosyada -----BEGIN ...----- satırını bulamadığı anlamına gelir. Dosya ya PEM değildir ya da başlık satırı bozulmuştur.
Dosyanın türünü anlayın
| Belirti | Muhtemel tür | Dönüştürme |
|---|---|---|
| Okunmayan ikili karakterler | DER (.cer, .der) | openssl x509 -inform der -in a.cer -out a.pem |
Başlık BEGIN PKCS7 veya .p7b | PKCS#7 paketi | openssl pkcs7 -print_certs -in a.p7b -out a.pem |
| .pfx / .p12 uzantısı | PKCS#12 | openssl pkcs12 -in a.pfx -nodes -out a.pem |
Başlık CERTIFICATE REQUEST | CSR, sertifika değil | Doğru dosyayı kullanın |
Metin dosyası olduğu halde hata veriyorsa
- İlk ve son satırlara bakın:
head -n1 dosya.pem; tail -n1 dosya.pem. - Başlık satırının önünde boşluk, tırnak veya BOM olup olmadığını kontrol edin:
cat -A dosya.pem | head -n 2. - Uzun satır hâlinde yapıştırılmışsa 64 karakterlik satırlara bölünmelidir:
openssl x509 -in dosya.pem -out duzgun.pembunu düzeltir (dosya okunabiliyorsa). - Windows'ta oluşturulan dosyalarda
dos2unix dosya.pemfazladan CR karakterlerini temizler. - E-postadan kopyalanan içerikte akıllı tırnak veya satır kaybı olmadığından emin olun; en iyisi dosyayı doğrudan indirin.
Doğrulama
openssl x509 -in duzgun.pem -noout -subject -dates
Komut konu ve tarihleri yazdırıyorsa dosya kullanıma hazırdır. Sertifikayı sunucuya kurduktan sonra SSL denetleme aracıyla test edin; benzer dosya biçimi sorunları için bilgi bankasındaki kurulum rehberlerine bakabilirsiniz.
Ek ipuçları
Bir dosyada birden çok PEM bloğu varsa (sertifika + ara sertifika), openssl x509 yalnızca ilkini okur; bu hata değil beklenen davranıştır. Tümünü görmek için openssl crl2pkcs7 -nocrl -certfile zincir.pem | openssl pkcs7 -print_certs -noout komutunu kullanın.