Bir dış tarafdan aldığım sertifikayı okumak için Java'yı kullanmaya çalışıyorum. Kod aşağıdaki hatayı atıyor:Bir X.509 sertifikasını Java ile okuma
java.lang.RuntimeException: java.security.cert.CertificateException: Unable to initialize, java.io.IOException: extra data given to DerValue constructor
kodu:
FileInputStream ksfis = new FileInputStream(this.getCertificateFile());
ksbufin = new BufferedInputStream(ksfis);
certificate = (X509Certificate)
CertificateFactory.getInstance("X.509").generateCertificate(ksbufin);
sorun kodunda, bir kendinden imzalı sertifikayı oluşturulan ve koduyla kullanılmamıştır emin olmak için, ve iyi çalıştı. Her iki sertifikayı da sistem anahtar zincirine yükledim ve her ikisi de geçerli. Mac ve Java 1.6 kullanıyorum.
Harici Parti sertifikasını yüklediğimde yukarıdaki istisnayı neden aldığım hakkında bir fikriniz var mı? Transfer sırasında bozuk olduğunu mu düşünüyorsun? Eğer olduysa, yerel sistemde geçerli olarak gösterilmemeli, doğru mu?
Metin düzenleyicide açarsanız, metni veya çöpü gösterir mi? –
Ben metin editörü ve onun tam çöp ve üçüncü parti biri BEGIN Sertifika ve END sertifika metni içinde düzgünce düzenlenmiş ve bu iki uç içindeki içeriği == (base64 kodlu?) – Java
düzgünce düzenlenmiş olarak - ---- BAŞLANGIÇ BELGESİ ----- \ n tabanı 64 önemsiz \ n ----- END SERTİFİKASI ----- 'Varsayım mı? –