Lectura de certificados en java CFDI
Hola, intento cargar un certificado desde un jsp en un campo tipo file, este jsp llama a un servlet y en este cacho el certificado (para obtener el archivo utilice com.oreilly.servlet.multipart.*), de este obtengo un InputStream e intento convertirlo a un objeto de tipo X509Certificate haciendo lo siguiente:
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate cert = X509Certificate.getInstance(filePart.getInputStream());
pero me regresa esto:
InvocationTargetException: javax.security.cert.CertificateException: Could not parse certificate: java.io.IOException: Empty input
tambien lo itente de la siguiente forma leyendo el inputStream para convertirlo en un string(con InputStreamReader ) y esta es mi varible obtenida fileXML:
InputStream is = new ByteArrayInputStream(fileXML.getBytes());
byte[] bytesCertificate;
bytesCertificate=fileXML.getBytes();
CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate cert = X509Certificate.getInstance(is);
y me vota esto:
InvocationTargetException: javax.security.cert.CertificateException: java.io.IOException: DerInputStream.getLength(): lengthTag=67, too big.
Ha por otro lado lo logro hacer pasandole la ruta del archivo con fileInputStream y este objeto se lo paso a generateCertificate y funciona bien , pero no lo debeo hacer asi ya q qiero mantenerlo todo en memoria desde que recibo el archivo por post, es decir q no qiero escribir en disco el archivo; alguna idea de como pudo hacerlo; se los agradeceria demasiado!!!
Saludos!!
- ldwolf's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 10 semanas 3 días
hace 10 semanas 3 días
hace 10 semanas 3 días
hace 34 semanas 6 días
hace 36 semanas 1 día
hace 42 semanas 6 días
hace 1 año 35 semanas
hace 2 años 47 semanas
hace 2 años 51 semanas
hace 3 años 6 semanas