Lo que pasa es que estoy desarrollando un clienteWebService y para el método cancelar me piden el miLlave.key y el miCertificado.cer pero en formato DER, pero la verdad no encuentro como convertir ambos archivos a DER, espero que alguien me pueda ayudar.
De antemano gracias!!!
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
[Duda]Como convertir a DER
- Dado
- Mensajes: 15838
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: [Duda]Como convertir a DER
Esos archivos YA ESTAN en formato DER
Talvez quieras decir convertirlos a PFX o P12 o PEM.......revisa bien tus especificaciones.
Talvez quieras decir convertirlos a PFX o P12 o PEM.......revisa bien tus especificaciones.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 27
- Registrado: Vie Feb 04, 2011 10:15 am
Re: [Duda]Como convertir a DER
Este método de cancelar es del PAC solucionfactible, yo le mando el certificado tal cual lo tengo es un archivo.cer pero me devuelve el siguiente error: "Ocurrió un error al cargar el certificado, verifique que sea un certificado digital válido", lo que hago es lo siguiente:
¿Estoy haciendo algo mal?... Espero que me puedan ayudar, de antemano gracias!!!
Código: Seleccionar todo
String cert = "path/del/cert/miCert.cer";
String key = "path/del/ket/miKey.key";
InputStream certFile = new FileInputStream(cert);
InputStream keyFile = new FileInputStream(key);
//Primero pide usuario, despues contraseña, depues el UUID a cancelar, el certificado y el key en byte[]
solucionFactible.cancelar("usuario", "pass", "UUID", getBytes(certFile), getBytes(KeyFile));
public static byte[] getBytes(InputStream is) throws IOException{
int len;
int size = 1024;
byte[] buf;
if (is instanceof ByteArrayInputStream) {
size = is.available();
buf = new byte[size];
len = is.read(buf, 0, size);
} else {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
buf = new byte[size];
while ((len = is.read(buf, 0, size)) != -1) {
bos.write(buf, 0, len);
}
buf = bos.toByteArray();
}
return buf;
}
¿Estoy haciendo algo mal?... Espero que me puedan ayudar, de antemano gracias!!!
- Dado
- Mensajes: 15838
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: [Duda]Como convertir a DER
Total que no va a ser a PFX ni a PEM....je je je
En tu codigo lo estas enviando como un arreglo de bytes pero eso no esta bien, debe ser en base64, convierte tu certificado y tu key a base64 y asi envialo, te lo digo con 100% de certeza porque yo asi lo tengo programado y funciona.
En tu codigo lo estas enviando como un arreglo de bytes pero eso no esta bien, debe ser en base64, convierte tu certificado y tu key a base64 y asi envialo, te lo digo con 100% de certeza porque yo asi lo tengo programado y funciona.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 2
- Registrado: Dom Dic 19, 2010 4:21 pm
Re: [Duda]Como convertir a DER
Yo no he tenido problema para usar el método que recibe array de bytes pero, ¿Estás seguro de que estás leyendo completamente el archivo .cer y que está en formato DER, tal como te lo entregó el SAT?
Te propongo simplificar el código de tu función a lo siguiente:
Para verificar que el certificado se encuentre en un formato correcto puedes usar openssl:
esto te debe mostrar la información del certificado
Espero pruebes y nos comentas cómo te fue
Te propongo simplificar el código de tu función
Código: Seleccionar todo
getBytes
Código: Seleccionar todo
public static byte[] getBytes(InputStream is) throws IOException{
byte[] buf = new byte[is.available()];//reservar el espacio necesario para leer el .cer
is.read(buf);//leer el InputStream
return buf;//retornar el array de bytes lleno
}
Para verificar que el certificado se encuentre en un formato correcto puedes usar openssl:
Código: Seleccionar todo
openssl x509 -in certificado.cer -inform DER -noout -text
esto te debe mostrar la información del certificado
Espero pruebes y nos comentas cómo te fue
-
- Mensajes: 27
- Registrado: Vie Feb 04, 2011 10:15 am
Re: [Duda]Como convertir a DER
Gracias a sus respuestas, lo que pasa es que el proceso estaba correcto, el problema fue que me habían cambiado los archivos.
Saludos y gracias!!!
Saludos y gracias!!!
Volver a “OpenSSL en general (cualquier lenguaje)”
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados