Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » iText »

[iText-questions] Can´t sign a PDF with JSP

Rafa Alvarez

2006-06-28


 Hi list,
 
Here´s my problem:
I´m trying to make an example to sign any document, the example is from Paulo Soares´ page, it works in Java, but I wan´t to do it with JSP and I get the following exception:
 
org.apache.jasper.JasperException: Exception in JSP: /firma/print.jsp:20

17: 		try
18: 		{
19: 			KeyStore ks = KeyStore.getInstance("pkcs12");
20: 			ks.load(new FileInputStream("c:\\datos-asp\\epd.pfx"), "epd0001".toCharArray());
21: 			String alias = (String)ks.aliases().nextElement();
22: 			PrivateKey key = (PrivateKey)ks.getKey(alias, "epd0001".toCharArray());
23: 			java.security.cert.Certificate[] chain = ks.getCertificateChain(alias);


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
----------------------------------------
Here is my source code:
<%@ page import="java.util.*" %>
<%@ page import="java.awt.Color" %>
<%@ page import="java.io.*" %>
<%@ page import="java.security.*" %>
<%@ page import="java.security.cert.*" %>
<%@ page import="com.lowagie.text.*" %>
<%@ page import="com.lowagie.text.pdf.*" %>
<%!
public static String INCLUDE_PATH="../include/";
static final String FileName = "print.jsp";
%>
<%
  
  try
  {
   KeyStore ks = KeyStore.getInstance("pkcs12");
   ks.load(new FileInputStream("c:\\datos-asp\\prueba.pfx"), "xxx".toCharArray());
   String alias = (String)ks.aliases().nextElement();
   PrivateKey key = (PrivateKey)ks.getKey(alias, "xxx".toCharArray());
   java.security.cert.Certificate[] chain = ks.getCertificateChain(alias);
   PdfReader reader = new PdfReader("c:/datos-asp/prueba.pdf");
   FileOutputStream fout = new FileOutputStream("c:/datos-asp/firmado.pdf");
   //PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0');
   //Multiple sign
   PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0', null, true);
   
   PdfSignatureAppearance sap = stp.getSignatureAppearance();
   sap.setCrypto(key, chain, null, PdfSignatureAppearance.WINCER_SIGNED);
   sap.setReason("I'm the author");
   sap.setLocation("ESP");
   // comment next line to have an invisible signature
   sap.setVisibleSignature(new Rectangle(100, 100, 120, 70), 1, null);
   //sap.setCertified(true);
   stp.close();
         
   out.println("OK!");
  }
  catch (Exception de)
  {
   out.println(de.getMessage());
  }
 
%>
--------------------
Thanks in advance,
Rafa
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
iText-questions mailing list
iText-questions@(protected)
https://lists.sourceforge.net/lists/listinfo/itext-questions
©2008 junlu.com - Jax Systems, LLC, U.S.A.