angelcisneros / factura-electronica

Automatically exported from code.google.com/p/factura-electronica
Apache License 2.0
0 stars 0 forks source link

Obtencion de null con getSello(); #24

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Oye lamento insistir tanto, pero ya hice lo que se sugiere en el issue 19 baje 
la version 1.5 y aun sigo teniendo el mismo problema, cuando quiero obtener el 
sello este me regresa null :s, alguna idea?

Original issue reported on code.google.com by jlpinomoreno@gmail.com on 20 Dec 2010 at 7:55

GoogleCodeExporter commented 9 years ago
Ne te preocupes seguro algo anda mal, me puedes copiar el código que estas 
utilizando para ver que está pasando?

Saludos

Original comment by bigdata.mx on 20 Dec 2010 at 10:24

GoogleCodeExporter commented 9 years ago
Hola, mira uso este codigo:

    comp.setImpuestos(imps);
    comp.setFecha(new Date ());
    try {
        cfd = new CFDv2(comp);
        FileInputStream fis = new
FileInputStream("C:\\cer\\certificado.key");
        byte[] clavePrivada = getBytes(fis);
        try {
            PKCS8Key pkcs8 = new PKCS8Key(clavePrivada,
"clave".toCharArray());
            PrivateKey pk = pkcs8.getPrivateKey();
                try{
                    InputStream inStream = new
FileInputStream("C:\\cer\\certificado.cer");
                    CertificateFactory cf =
CertificateFactory.getInstance("X.509");
                    X509Certificate cert =
(X509Certificate)cf.generateCertificate(inStream);
                    cfd.sellar(pk, cert);
                    ou1 = new
FileOutputStream("C:\\Users\\Pepe\\Desktop\\Facturaelec2.xml");
                }catch(Exception ex){
                    System.out.println(ex);
                }
        }catch(Exception ex2){
            System.out.println(ex2);
        }
        cfd.guardar(ou1);
    } catch (Exception ex) {
        System.out.println(ex);
    }

Aqui en teoria ya se creo el comprobante y se sello, el problema es que que
cuando yo ago getSello(), me regresa null, no entiendo por que, lo que ya me
di cuenta es que en el issue 19 tu lees el xml creado y de ahi le haces el
getSello(), pero esto se me hace doble trabajo, ya uqe en teoria tengo el
sello en memoria por que lo acabo de crear, seria mas facil si se me
regresase en ese momento no?

Gracias, Saludos

Original comment by jlpinomoreno@gmail.com on 21 Dec 2010 at 2:39

GoogleCodeExporter commented 9 years ago
En realidad se implementó a través del método sellarComprobante por un tema 
de inmutabilidad de los objetos.

En este caso:

1. Generas o cargas el Comprobante.
2. Lo sellas y obtienes un Comprobante nuevo ya sellado, utilizando el método 
sellarComprobante.
3. Obtienes el sello del nuevo Comprobante.

El ejemplo sería:

    Comprobante sellado = cfd.sellarComprobante(key, cert);
    cfd.validar();
    cfd.verificar();
    cfd.guardar(System.out);
    System.err.println(sellado.getSello());

Por lo pronto te recomiendo utilizarlo así en lo que encontramos una solución 
definitiva.

Saludos

Original comment by bigdata.mx on 21 Dec 2010 at 5:25

GoogleCodeExporter commented 9 years ago

Original comment by bigdata.mx on 25 Dec 2010 at 3:03

GoogleCodeExporter commented 9 years ago
La librería de factura-electronica ha sido migrada a GitHub para facilitar la 
colaboración.

Los temas han sido migrados a 

https://github.com/bigdata-mx/factura-electronica/issues/

Visítanos!

Original comment by bigdata.mx on 21 Oct 2012 at 5:51