CertificateException - OpenSSLX509CertificateFactory $ ParsingException

Nav*_* GV 11 android openssl ssl-certificate

我在我的android项目中有以下代码,我连接到安全服务器.我收到了解析错误.[粘贴到下面].如果有人知道这个例外,请告诉我.提前致谢.

代码片段

CertificateFactory cf = CertificateFactory.getInstance("X.509");
InputStream caInput = new BufferedInputStream(new FileInputStream("/storage/emulated/0/cert.p12"));
Certificate ca;
try {
    ca = cf.generateCertificate(caInput);   // error at this line
    System.out.println("ca=" + ((X509Certificate) ca).getSubjectDN());
} finally {
    caInput.close();
}    
Run Code Online (Sandbox Code Playgroud)

错误

01-15 17:01:00.107: W/System.err(14932): java.security.cert.CertificateException:   com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
01-15 17:01:00.107: W/System.err(14932):    at   com.android.org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272)
Run Code Online (Sandbox Code Playgroud)

01-15 17:01:00.107:W/System.err(14932):at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:195)

Jos*_*osh 12

我找到了同样问题的解决方案.在这行代码中包含"BC"提供程序,错误可能会消失:getInstance("X.509", "BC")