verified verificar type trustanchor tls not found for conexion check certpathvalidatorexception certpath cert android openssl ssl-certificate

android - verificar - CertificateException-OpenSSLX509CertificateFactory $ ParsingException



verificar ssl (2)

Tiene dos problemas 1. Parece ser un formato de archivo incorrecto. Para openssl threre es tipo DER y PEM. Intenta convertir tu cert.p12 a otro formato ($ x509 -en cert.p12 -inform PEM -out output.crt -outform DER). 2. Tal vez cert.p12 no es un formato X509, pero pkcs12 sí lo es. Lea más sobre esos formatos y verifique sus archivos.

Tengo el siguiente código en mi proyecto de Android donde me estoy conectando al servidor seguro. Estoy obteniendo el error de análisis. [pegado abajo]. Si alguien conoce esta excepción, por favor avíseme. Gracias por adelantado.

Fragmento de código

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(); }

Error

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)

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


Cambié esta línea para incluir el proveedor "BC" y el error desapareció: getInstance("X.509", "BC")