2012-03-27 34 views
24

SSL sertifikasını this post 'a uygun olarak güncellemeye çalışıyorum.Hatası SSL sertifikası alınıyor: Bir X.509 Sertifikası değil

Sertifikalarda yetkim yok, bu yüzden this guide'u takip ettim. Bunu düzeltmek nasıl

keytool error: java.lang.Exception: Input not an X.509 certificate 
java.lang.Exception: Input not an X.509 certificate 
     at sun.security.tools.KeyTool.addTrustedCert(KeyTool.java:1913) 
     at sun.security.tools.KeyTool.doCommands(KeyTool.java:818) 
     at sun.security.tools.KeyTool.run(KeyTool.java:172) 
     at sun.security.tools.KeyTool.main(KeyTool.java:166) 

: Ama ben

keytool -keystore mycacerts -storepass changeit -importcert -file "C:\Users\Noks\Desktop\cacerts.pem" -v 

girdiğinizde hata alıyorum?

+0

Bu komut kesinlikle java 1.6 ya da –

cevap

24

cacerts.pem dosyanız tek bir sertifikayı tutuyor mu? Bir PEM olduğundan, ona bir göz atın, bu

-----BEGIN CERTIFICATE-----

ile başlar ve son olarak

-----END CERTIFICATE-----

bitmelidir var, bozuk olmadığından kontrol etmek, Openssl yakalayabilmeleri ve bir sertifika i sağlayacaktır

openssl x509 -in cacerts.pem -text

+0

üzerinde çalışıyor, bu tür bir çok şey vardı, ben sadece bir tane eklemek için değiştirdim.Ben başarıyla yüklendi. :) – nikel

+0

Sadece bir BEGIN SERTİFİKASI eklediniz mi ve Tüm veriler arasında END BELGESİ var mı? Aynı sorunla da karşı karşıyayım, ne yaptığınızı söyleyerek bana yardımcı olabilir misiniz? –

+1

Çizgiler zaten orada olmalıydı. Eğer değilse, sertifikanız muhtemelen DER (veya geçersiz) kodlanmış olabilir. Bunu dönüştürmek için 'openssl x509 -in mycert.der -formform DER -out myCert.pem -outform PEM'. 'Openssl -in myCert.pem -text''i görüntülemek ve doğrulamak için. Dosya tek bir sertifika içermelidir. –

25

Birçok CA'ları kullanarak ayrıntılarını yazdırmak n PKCS7 formatı.

Oracle documentation göre, keytool Commmand PKCS # 7 işleyebilir ama PKCS7 dosya X.509'da için PKCS7 onu dönüştürmeye deneyin ithal edilemezse bazen

The keytool command can import X.509 v1, v2, and v3 certificates, and PKCS#7 formatted certificate chains consisting of certificates of that type. The data to be imported must be provided either in binary encoding format or in printable encoding format (also known as Base64 encoding) as defined by the Internet RFC 1421 standard. In the latter case, the encoding must be bounded at the beginning by a string that starts with -----BEGIN, and bounded at the end by a string that starts with -----END.

başarısız:

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer 
3

Bu, eski bir iş parçacığı gibi görünüyor, ancak deneyimlerimi buraya ekleyeceğim. Bir sertifika da yüklemeye çalıştım ve bu hatayı aldım. Daha sonra ser dosyasını bir txt editörüyle açtım ve her satırın sonunda fazladan bir boşluk (karakter) olduğunu fark ettim. Bu satırları kaldırmak, sertifikayı almamı sağladı. Umarım bu bir başkası için bir şeydir umarım.

+0

Bu benim için de sorun oldu, ben sertifika metnini doğrudan e-postadan kopyaladım çünkü her satırın sonunda bir boşluk bıraktı. – Continuity8

İlgili konular