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