Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2012, 05:03
bones18
 
Fecha de Ingreso: octubre-2007
Mensajes: 6
Antigüedad: 17 años, 1 mes
Puntos: 0
Error al firmar un XSIG usando API FACTURAE del ministerio de industria

Buenos días,


estoy enganchado al intentar firmar un archivo xsig, es decir una factura xml con la api de Facturae v3.2.

Puede generar el xml correctamente pero al firmar el archivo me lanza un error que no se como resolver.

El metodo sign está sobrecargado y uso este

public static org.w3c.dom.Document sign(org.w3c.dom.Document facturae,
java.security.cert.X509Certificate cert)
throws SigningException,
es.mityc.javasign.bridge.ConfigurationException

Los que usan como ejemplo en la documentación necesita de una pantalla posterior para escoger el certificado, esta función deberia permitirme darle yo mismo el certificado con el que tiene que firma.

Aqui está el código que utilizo:

Código:
//Hasta aqui ya tenemos el fichero xsig creado, vamos a firmarlo.
   
       java.io.File factura32 = new java.io.File("fitxer.xsig");
       
       
       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       
       DocumentBuilder db = dbf.newDocumentBuilder();
       
        org.w3c.dom.Document doc = db.parse(factura32);
        
        //Ahora ya tenemos el fichero en una variable document
        
        
       InputStream inStream = new FileInputStream ("cert2014.cer");
       CertificateFactory cf =  CertificateFactory.getInstance("X.509");
       X509Certificate cert = (X509Certificate)cf.generateCertificate(inStream);
       inStream.close();
      
       
       //ahora ya tenemos en cert el certificado.
           
       
       es.mityc.facturae.utils.SignatureUtil.sign(doc,cert);

       
       //FUNCIONA?

Finalmente monto el proyecto perfectamente pero al ejecutarlo me lanza

[ERROR] SignFactory --> No hay propiedad para indicar clase de facade de servicios de firma
Exception in thread "main" java.lang.NoSuchMethodError: es.mityc.javasign.bridge.ISignFacade.setStoreManag er(Ljava/lang/String;Ljava/lang/String;)V
at es.mityc.facturae.utils.SignatureUtil.sign(Signatu reUtil.java:109)
at facturaelectronica.FacturaElectronica.main(Factura Electronica.java:94)
Java Result: 1
BUILD SUCCESSFUL (total time: 5 seconds)


la linea 94 coincide con la última función que llamamos al sign

nose por donde mirar.

Alguna idea??

gracias!!!