Hi Ángel,
I didn't follow the whole set of your problem, but iirc you already got a
ready-made signature from somewhere.
In this case you just have to insert it into the signature placeholder within
the PDF that MUST exist. So you just have to replace the byte in it with the
signature bytes..
The code you are working on is trying to create a NEW signature. This new one
can't match with the one you already got !
Greetings
Andreas
________________________________
From: amcereijo cereijo <[email protected]>
To: [email protected]
Sent: Friday, April 24, 2009 11:33:56 AM
Subject: Re: [iText-questions] Add sign to pdf
Hi, i know that this code fail because the line
"sap..setCrypto(null, chain, null, null);"
can not be commented. However, I can uncomment the line because I do not have a
pkcs12 file, but a p7s file..
Is there any way to use that p7s file like a pkcs12?
Thanks, Ángel
2009/4/22 amcereijo cereijo <[email protected]>
Hello, i try tihs code:
public void SignDetached() {
try {
Security.addProvider(new BouncyCastleProvider());
//KeyStore ks = KeyStore.getInstance("PKCS12");
// ks.load(new FileInputStream("my_private_key.pfx"),
"password".toCharArray());
// String alias = (String)ks.aliases().nextElement();
// PrivateKey key = (PrivateKey)ks.getKey(alias,
"password".toCharArray());
// Certificate[] chain = ks.getCertificateChain(alias);
PdfReader reader = new PdfReader("d:\\cert.pdf");
PdfStamper stp = PdfStamper.createSignature(reader, new
FileOutputStream("d:\\certFirm.pdf"), '\0');
PdfSignatureAppearance sap = stp.getSignatureAppearance();
sap.setVisibleSignature(new Rectangle(100, 100, 300, 200), 1, null);
sap.setSignDate(new GregorianCalendar());
// sap.setCrypto(null, chain, null, null);
sap.setReason("I like to sign");
sap.setLocation("Universe");
sap.setAcro6Layers(true);
sap.setRender(PdfSignatureAppearance.SignatureRenderNameAndDescription);
PdfSignature dic = new PdfSignature(PdfName.ADOBE_PPKLITE,
PdfName.ADBE_PKCS7_DETACHED);
dic.setDate(new PdfDate(sap.getSignDate()));
//
dic.setName(PdfPKCS7.getSubjectFields((X509Certificate)chain[0]).getField("CN"));
if (sap.getReason() != null)
dic.setReason(sap.getReason());
if (sap.getLocation() != null)
dic.setLocation(sap.getLocation());
sap.setCryptoDictionary(dic);
int csize = 4000;
HashMap exc = new HashMap();
exc.put(PdfName.CONTENTS, new Integer(csize * 2 + 2));
System.out.println("sap:"+sap+" ,exc: "+exc);
sap.preClose(exc);
CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
// generator.addSigner(key, (X509Certificate)chain[0],
CMSSignedDataGenerator.DIGEST_SHA1);
/* ArrayList list = new ArrayList();
for (int i = 0; i < chain.length; i++) {
list.add(chain[i]);
}*/
// CertStore chainStore = CertStore.getInstance("Collection", new
CollectionCertStoreParameters(list), "BC");
// generator.addCertificatesAndCRLs(chainStore);
CMSProcessable content = new CMSProcessableRange(sap);
CMSSignedData signedData = generator.generate(content, false, "BC");
//byte[] pk = signedData.getEncoded();
//baos.toByteArray() contents the pk7 file.
byte[] pk = baos.toByteArray();
csize=pk.length;
byte[] outc = new byte[csize];
PdfDictionary dic2 = new PdfDictionary();
System.arraycopy(pk, 0, outc, 0, pk.length);
dic2.put(PdfName.CONTENTS, new PdfString(outc).setHexWriting(true));
sap.close(dic2);
}
catch (Exception e) {
e.printStackTrace();
}
}
and recived :
java.lang.NullPointerException
at com.lowagie.text.pdf.PdfSignatureAppearance.getAppearance(Unknown Source)
at com.lowagie.text.pdf.PdfSignatureAppearance.preClose(Unknown Source)
at firma.PruebaFirma.SignDetached(PruebaFirma.java:80)
at firma.PruebaFirma.main(PruebaFirma.java:199)
i don´t know what is the reason...
Thanks, Ángel.
---------- Forwarded message ----------
From: amcereijo cereijo <[email protected]>
Date: 2009/4/22
Subject: Re: Add sign to pdf
To: [email protected]
Thanks i'm going to try it
Message: 5
Date: Wed, 22 Apr 2009 15:28:31 +0100
From: Paulo Soares <[email protected]>
Subject: Re: [iText-questions] Add sign to pdf
To: Post all your questions about iText here
<[email protected]>
Message-ID:
<[email protected]>
Content-Type: text/plain; charset="utf-8"
See http://itextpdf.sourceforge.net/howtosign.html#signextdiccms. Replace
signedData.getEncoded() with your pkcs7.
Paulo
> -----Original Message-----
> From: amcereijo cereijo [mailto:[email protected]]
> Sent: Wednesday, April 22, 2009 3:21 PM
> To: [email protected]
> Subject: Re: [iText-questions] Add sign to pdf
>
>
>
> First, thanks to all.
> Second, i have seen that in data base is stored the pk7 file
> thath containst a certificate.
> Well, i have seen some examples of itext but i don?t know how
> to add this digital sign or to sign a pdf file whith this pk7 file.
>
> Thanks again, ?ngel.
>
>
>
>
>
>
> Message: 6
> Date: Tue, 21 Apr 2009 13:52:57 -0700
> From: Leonard Rosenthol <[email protected]>
> Subject: Re: [iText-questions] Add sign to pdf
> To: Post all your questions about iText here
> <[email protected]>
> Message-ID: <c613fec9.4ee97%[email protected]
> <mailto:c613fec9.4ee97%[email protected]> >
> Content-Type: text/plain; charset="iso-8859-1"
>
> A signature includes a certificate - that's how the
> technology works. If you don't have the certificate - you
> can't sign ANYTHING. (not a PDF issue, but a Digital
> Signature issue).
>
> Leonard
>
>
> On 4/21/09 5:38 PM, "amcereijo cereijo"
> <[email protected]> wrote:
>
> Sorry, my english is very bad.
> I want to know if it?s possible add a sign to a pdf file.
> I?m not access to certificate, i only have the content
> of the sign (bytes[]) and i want to add this content to pdf file.
>
> I hope that you can understant me.
>
> Thanks, ?ngel.
>
>
>
> Message: 2
> Date: Tue, 21 Apr 2009 15:32:42 +0200
> From: 1T3XT info <[email protected]>
> Subject: Re: [iText-questions] Add sign to pdf
> To: Post all your questions about iText here
> <[email protected]>
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
> amcereijo cereijo wrote:
> > Hi, now is possible to add a sign saved in a data
> base to pdf file?. The
> > sign saved is the result to signed the pdf file in a
> external plataform..
>
> I don't understand the question.
>
> Are you talking about digital signatures?
> Or just about a "sign", some "image"?
> You'll have to clarify.
>
> Try explaining what you want to do in pseudo code.
> Maybe that will be easier for us to understand.
> --
> This answer is provided by 1T3XT BVBA
> http://www.1t3xt.com/ - http://www.1t3xt.info
>
>
>
>
>
>
> --
> Leonard Rosenthol
> PDF Standards Architect
> Adobe Systems Incorporated
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> Message: 7
> Date: Tue, 21 Apr 2009 14:28:32 -0700 (PDT)
> From: mkl <[email protected]>
> Subject: Re: [iText-questions] Add sign to pdf
> To: [email protected]
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset=UTF-8
>
>
> Maybe you should post some code representing a short
> form of what you
> actually currently do as was already suggested before.
>
> Your sentence "The sign saved is the result to signed
> the pdf file in a
> external plataform" from your first message might be
> interpreted in the way
> that you have an external signature for the PDF and
> somehow want to make it
> an integrated one. If this is the case, you
> unfortunately are out of luck as
> integrated signatures require the PDF document to be
> prepared in a certain
> way and the digest value to be calculated from certain
> parts of this
> prepared document.
>
>
> amcereijo cereijo wrote:
> >
> > Sorry, my english is very bad.
> > I want to know if it?s possible add a sign to a pdf file.
> > I?m not access to certificate, i only have the
> content of the sign
> > (bytes[]) and i want to add this content to pdf file.
> >
> > I hope that you can understant me.
> >
> > Thanks, ?ngel.
> >
> >
> >> Message: 2
> >> Date: Tue, 21 Apr 2009 15:32:42 +0200
> >> From: 1T3XT info <[email protected]>
> >> Subject: Re: [iText-questions] Add sign to pdf
> >> To: Post all your questions about iText here
> >> <[email protected]>
> >> Message-ID: <[email protected]>
> >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> >>
> >> amcereijo cereijo wrote:
> >> > Hi, now is possible to add a sign saved in a data
> base to pdf file?.
> >> The
> >> > sign saved is the result to signed the pdf file in
> a external
> >> plataform.
> >>
> >> I don't understand the question.
> >>
> >> Are you talking about digital signatures?
> >> Or just about a "sign", some "image"?
> >> You'll have to clarify.
> >>
> >> Try explaining what you want to do in pseudo code.
> >> Maybe that will be easier for us to understand.
Aviso Legal:
Esta mensagem ? destinada exclusivamente ao destinat?rio. Pode conter
informa??o confidencial ou legalmente protegida. A incorrecta transmiss?o desta
mensagem n?o significa a perca de confidencialidade. Se esta mensagem for
recebida por engano, por favor envie-a de volta para o remetente e apague-a do
seu sistema de imediato. ? proibido a qualquer pessoa que n?o o destinat?rio de
usar, revelar ou distribuir qualquer parte desta mensagem.
Disclaimer:
This message is destined exclusively to the intended receiver. It may contain
confidential or legally protected information. The incorrect transmission of
this message does not mean the loss of its confidentiality. If this message is
received by mistake, please send it back to the sender and delete it from your
system immediately. It is forbidden to any person who is not the intended
receiver to use, distribute or copy any part of this message.
------------------------------
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
------------------------------
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
End of iText-questions Digest, Vol 35, Issue 88
***********************************************------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensign option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://www.1t3xt.com/docs/book.php