Hola,
te adjunto la llamada desde el javascript:
function firmar(){
CryptoApplet= document.getElementById('CryptoApplet');
CryptoApplet.setLanguage("ES_es");
CryptoApplet.setInputDataEncoding("PLAIN");
CryptoApplet.setSignatureOutputFormat("PDF");
var ps = document.getElementById("frmFirmaResolucion:ps").value;
var urlIn = "http://localhost:8888/SicomepsGUI/RecogerPdf.jsp";
var urlOut = "http://localhost:8888/SicomepsGUI/FirmarPdf.jsp";
CryptoApplet.signDataUrlToUrl(urlIn, urlOut);
}
El error es el siguiente:
network: Se ha encontrado entrada de caché [URL:
http://epardo.tissat.es:8888/SicomepsGUI/jsp/garantiaSuministros/firma/ujiConfig-2.0.5.jar,
versión: null]
java.io.IOException: PDF header signature not found.
at com.lowagie.text.pdf.PRTokeniser.checkPdfHeader(PRTokeniser.java:201)
at com.lowagie.text.pdf.PdfReader.readPdf(PdfReader.java:466)
at com.lowagie.text.pdf.PdfReader.<init>(PdfReader.java:175)
at com.lowagie.text.pdf.PdfReader.<init>(PdfReader.java:164)
at
es.uji.dsign.crypto.PDFSignatureFactory.formatSignature(PDFSignatureFactory.java:232)
at es.uji.dsign.applet2.SignatureThread.run(SignatureThread.java:230)
es.uji.dsign.applet2.Exceptions.SignatureAppletException: <html><font
color='red'>No se ha podido calcular la firma</font></html> ::
at es.uji.dsign.applet2.SignatureThread.run(SignatureThread.java:244)
El pdf es accesible por sistemas de archivo, pero que quieres decir con llamar
a la url a mano???
Muchas gracias.
________________________________
De: [email protected] en nombre de Ricardo Borillo
Enviado el: vie 23/04/2010 14:49
Para: Llista de correu per al CryptoApplet
Asunto: Re: [CryptoApplet] (sin asunto)
Hola Eduardo,
Llamando a esa URL a mano, ¿Podeis recuperar el PDF correctamente?
En el JavaScript que llama a CryptoApplet, ¿Qué teneis en la llamada a
"setInputDataEncoding"? ¿PLAIN o BASE64?
¿Puedes poner la traza entera del error que ves por consola?
---
Salut,
====================================
Ricardo Borillo Domenech
http://xml-utils.com <http://xml-utils.com/> / http://twitter.com/borillo
2010/4/23 Eduardo Pardo <[email protected]>:
> Hola,
>
> el codigo que he hemos desarrollado para recoger el pdf del sistema de
> ficheros es el siguiente:
>
> ServletOutputStream stream = null;
> BufferedInputStream buf = null;
> try {
> stream = response.getOutputStream();
> File pdf = new File("\\tmp\\resolucionTemporal.pdf");
>
> response.setContentType("application/pdf");
> response.addHeader("Content-Disposition", "attachment;
> filename=resolucionTemporal.pdf");
> response.setContentLength((int) pdf.length());
>
> FileInputStream input = new FileInputStream(pdf);
> buf = new BufferedInputStream(input);
> int readBytes = 0;
>
> while ((readBytes = buf.read()) != -1)
> stream.write(readBytes);
>
> } catch (IOException ioe) {
> throw new ServletException(ioe.getMessage());
> } finally {
> if (stream != null)
> stream.close();
> if (buf != null)
> buf.close();
> }
>
> Es decir, cogemos el pdf y lo pasamos por el response para que cryptoapplet
> lo firme, pues el resultado es un error al hacer la firma, concretamente una
> excepcion:
>
> java.io.IOException: PDF header signature not found.
>
> Muchas gracias.
>
> Saludos.
> ________________________________
> De: [email protected] en nombre de Ricardo Borillo
> Enviado el: vie 23/04/2010 13:37
> Para: Llista de correu per al CryptoApplet
> Asunto: Re: [CryptoApplet] (sin asunto)
>
> Hola Eduardo,
>
> No te queda otra que hacer que CryptoApplet lea de una URL que sea
> capaz de leer el PDF del sistema de ficheros y luego se lo haga llegar
> como respuesta de la petición.
>
> Así, las URLs para CryptoApplet quedarían de la siguiente forma:
>
> URL entrada: http:// <http:///> <url que llee del sistema de ficheros y sirve
> el pdf>
> URL salida: http:// <http:///> <url que recoge el resultado de la firma y
> lo almacena>
>
> ---
> Salut,
> ====================================
> Ricardo Borillo Domenech
> http://xml-utils.com <http://xml-utils.com/> / http://twitter.com/borillo
>
>
>
> 2010/4/23 Eduardo Pardo <[email protected]>:
>> Hola,
>>
>> estoy firmando un pdf a traves de la llamada "signDataUrlToUrl". El
>> problema
>> que tengo, es que el fichero pdf se encuentra en el servidor en una
>> carpeta
>> temporal del sistema de archivos.
>>
>> ¿Como puedo acceder a ella?. Valdria la posibilidad de que el parametro de
>> entrada sea la llamada a un servlet y sea este quien recoja el pdf. ¿Lo
>> recogeria cryptoapplet como el fichero de entrada?
>>
>>
>> Muchas gracias.
>>
>> Saludos.
>>
>> Eduardo Pardo Guillén
>>>
>>> Responsable Técnico de Producto
>>>
>>> email: [email protected]
>>>
>>> Teléfono: 963939916
>>>
>>> TISSAT S.A.
>>>
>>> Av. Leonardo da Vinci 5
>>>
>>> 46980 Paterna
>>
>>
>>
>> ________________________________
>> Nota Legal: Este correo electrónico puede contener información
>> estrictamente
>> confidencial y es de uso exclusivo del destinatario, quedando prohibida a
>> cualquier otra persona su revelación, copia, distribución, o el ejercicio
>> de
>> cualquier acción relativa a su contenido. Si ha recibido este correo
>> electrónico por error, por favor, conteste al remitente, y posteriormente
>> proceda a borrarlo de su sistema. Gracias por su colaboración.
>>
>> Confidentiality notice: This e-mail message may contain confidential
>> and/or
>> legally privileged information and is solely for the attention and use of
>> the intended recipient. Any disclosure, copying, distribution or the
>> taking
>> of any action with relation to the contents of this e-mail by any other
>> person is strictly prohibited. If you believe that this e-mail has been
>> mistakenly sent to you,
>> please reply to the sender from whom you received the message in error and
>> then delete the original e-mail from your system. Thank you for your
>> co-operation.
>>
>> ________________________________
>>
>> _______________________________________________
>> CryptoApplet mailing list
>> [email protected]
>> http://llistes.uji.es/mailman/listinfo/cryptoapplet
>>
>>
> _______________________________________________
> CryptoApplet mailing list
> [email protected]
> http://llistes.uji.es/mailman/listinfo/cryptoapplet
>
> ________________________________
> Nota Legal: Este correo electrónico puede contener información estrictamente
> confidencial y es de uso exclusivo del destinatario, quedando prohibida a
> cualquier otra persona su revelación, copia, distribución, o el ejercicio de
> cualquier acción relativa a su contenido. Si ha recibido este correo
> electrónico por error, por favor, conteste al remitente, y posteriormente
> proceda a borrarlo de su sistema. Gracias por su colaboración.
>
> Confidentiality notice: This e-mail message may contain confidential and/or
> legally privileged information and is solely for the attention and use of
> the intended recipient. Any disclosure, copying, distribution or the taking
> of any action with relation to the contents of this e-mail by any other
> person is strictly prohibited. If you believe that this e-mail has been
> mistakenly sent to you,
> please reply to the sender from whom you received the message in error and
> then delete the original e-mail from your system. Thank you for your
> co-operation.
>
> ________________________________
>
> _______________________________________________
> CryptoApplet mailing list
> [email protected]
> http://llistes.uji.es/mailman/listinfo/cryptoapplet
>
>
_______________________________________________
CryptoApplet mailing list
[email protected]
http://llistes.uji.es/mailman/listinfo/cryptoapplet
_______________________________________________
CryptoApplet mailing list
[email protected]
http://llistes.uji.es/mailman/listinfo/cryptoapplet