[英]Could not parse certificate from .cer to import it in keystore: Java
我想將導出的證書(.cer)導入我的應用程序。 導出以PEM,DER轉換類型完成。 我已經在在線證書解碼器工具上測試了導出的數據,並且顯示了很好的結果,但是當我想將其導入到我的應用程序中時,我得到了:
java.security.cert.CertificateException:無法解析證書:java.io.IOException:空輸入
這是我的資料來源:
Path fileLocation = Paths.get(file.getAbsolutePath());
byte[] data = Files.readAllBytes(fileLocation);
ByteArrayInputStream bIn = new ByteArrayInputStream(data);
X509Certificate cert = (X509Certificate)
exception -->> CertificateFactory.getInstance("X.509").generateCertificate(bIn);
keystore.setCertificateEntry(alias, cert);
編輯:方法與PEM格式證書一起工作正常,但無法導入DER。
我發現錯誤與導出.DER類型的證書有關。
這是固定的.DER導出方法:
FileOutputStream fos = new FileOutputStream(file.getAbsolutePath() + ".cer");
DEROutputStream dos = new DEROutputStream(fos);
ASN1InputStream asn1inputStream = new ASN1InputStream(new ByteArrayInputStream(chain[0].getEncoded())); // this is Certificate
dos.writeObject(asn1inputStream.readObject());
dos.flush();
fos.flush();
dos.close();
fos.close();
上面的導入方法適用於.DER和.PEM證書格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.