He almacenado un certificado como una cadena codificada en Base64 en la base de datos. Puedo leer esto desde la base de datos y decodificarlo, pero me gustaría convertir el byte decodificado [] en un Certificado X509. Estoy buscando un código de muestra para hacer esto. Lo he intentado:Convertir byte de certificado [] en X509Certificate en Java
CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
InputStream in = new ByteArrayInputStream(bytes);
X509Certificate cert = (X509Certificate)certFactory.generateCertificate(in);
Esto genera un problema con el tipo de codificación. Una muestra válida Cadena o byte [] que represente un certificado será buena.
¡Cualquier apuntador será genial! Gracias.
¿Cuál es el "problema con el tipo de codificación" que usted menciona? ¿Es un problema de base de datos o un problema de Java? –
Sospecho que lo que necesita es http://docs.oracle.com/javase/1.4.2/docs/api/java/security/cert/Certificate.html#getEncoded%28%29. El método getEncoded() le devolverá un byte []. –
¿Cómo se obtuvo la matriz de bytes? ¿Y cuál es exactamente el problema con el tipo de codificación? ¿Y cuál de estas líneas de código arroja la excepción? ¿Y qué * es * la excepción? – EJP