Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

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

La libreria OpenSSL es la mas usada para generar el sello digital, independientemente del lenguaje aqui encontraras informacion de como usar la libreria
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
Cerrado
eduardoaap
Mensajes: 27
Registrado: Vie Feb 04, 2011 10:15 am

[Duda]Como convertir a DER

Mensaje por eduardoaap »

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!!!
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: [Duda]Como convertir a DER

Mensaje por Dado »

Esos archivos YA ESTAN en formato DER

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 !!
eduardoaap
Mensajes: 27
Registrado: Vie Feb 04, 2011 10:15 am

Re: [Duda]Como convertir a DER

Mensaje por eduardoaap »

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:

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!!!
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: [Duda]Como convertir a DER

Mensaje por Dado »

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.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
hrzio
Mensajes: 2
Registrado: Dom Dic 19, 2010 4:21 pm

Re: [Duda]Como convertir a DER

Mensaje por hrzio »

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

Código: Seleccionar todo

getBytes
a lo siguiente:

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
eduardoaap
Mensajes: 27
Registrado: Vie Feb 04, 2011 10:15 am

Re: [Duda]Como convertir a DER

Mensaje por eduardoaap »

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!!!
Cerrado