Hi,
Thanks for the reply, this is the stack trace I get from the exception:
System.NullReferenceException was unhandled
Message="Object reference not set to an instance of an object."
Source="iTextSharpSign"
StackTrace:
at iTextSharpSign.PDFSigner.Sign(String SigReason, String SigContact, String SigLocation, Boolean visible) in D:\Documents\PDFcreator\PDFcreator\iTextSharpSign\PDFSigner.cs:line 298
at iTextSharpSign.Form1.button1_Click(Object sender, EventArgs e) in D:\Documents\PDFcreator\PDFcreator\iTextSharpSign\Form1.cs:line 109
at System.Windows.Forms.Control.OnClick(EventArgs e)
at
System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at iTextSharpSign.Program.Main() in D:\Documents\PDFcreator\PDFcreator\iTextSharpSign\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
I didn't think that this was particularly useful so I found the exact line that was causing the exception. The line is in the SetHashKey Method in PdfEncryption.cs:
md5.Initialize();
...
This can be traced back up to PdfStamper.Close() method.
I
put a break point at this line and got the stack calls at that point:
iTextSharpSign.exe!iTextSharp.text.pdf.PdfEncryption.SetHashKey(int number = 38, int generation = 0) Line 293
iTextSharpSign.exe!iTextSharp.text.pdf.PdfIndirectObject.PdfIndirectObject(int number = 38, int generation = 0, iTextSharp.text.pdf.PdfObject objecti = {Dictionary of type: /XObject}, iTextSharp.text.pdf.PdfWriter writer = {iTextSharp.text.pdf.PdfStamperImp}) Line 119 + 0xe bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfIndirectObject.PdfIndirectObject(int number = 38, iTextSharp.text.pdf.PdfObject objecti = {Dictionary of type: /XObject}, iTextSharp.text.pdf.PdfWriter writer = {iTextSharp.text.pdf.PdfStamperImp}) Line 97 + 0x11 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.PdfBody.Add(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}, int refNumber = 38, bool inObjStm = true) Line 355 + 0x1c bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.PdfBody.Add(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}, int refNumber = 38) Line 343 + 0xe bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.PdfBody.Add(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}) Line 292 + 0x1b bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.AddToBody(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}) Line 1866 + 0xc bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.Add(iTextSharp.text.pdf.PdfImage pdfImage = {Dictionary of type: /XObject}, iTextSharp.text.pdf.PdfIndirectReference fixedRef = null) Line 991 + 0xa bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.AddDirectImageSimple(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}, iTextSharp.text.pdf.PdfIndirectReference fixedRef = null) Line 967 + 0x11 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.AddDirectImageSimple(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}) Line 905 + 0xb bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfContentByte.AddImage(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}, float a = 250.0, float b = 0.0, float c = 0.0, float d = 75.0, float e = 0.0, float f = 0.0, bool inlineImage = false) Line 1211 + 0x10 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfContentByte.AddImage(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}, float a = 250.0, float b = 0.0, float c = 0.0, float d = 75.0, float e = 0.0, float f = 0.0) Line 1133 + 0x1d bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfSignatureAppearance.GetAppearance() Line 329 + 0x79 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfSignatureAppearance.PreClose(System.Collections.Hashtable exclusionSizes = null) Line 732 + 0x11 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfSignatureAppearance.PreClose() Line 677 + 0x9 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfStamper.Close() Line 189 + 0xa bytes
iTextSharpSign.exe!iTextSharpSign.PDFSigner.Sign(string SigReason = "", string SigContact = "", string SigLocation = "", bool visible = true) Line 294 + 0xa bytes
iTextSharpSign.exe!iTextSharpSign.Form1.button1_Click(object sender = {Text = "Sign"}, System.EventArgs e = {X = 33 Y = 14 Button = Left}) Line 109 + 0x61 bytes
[External Code]
iTextSharpSign.exe!iTextSharpSign.Program.Main() Line 17 + 0x1a bytes
[External Code]
iTextSharpSign.exe!iTextSharp.text.pdf.PdfIndirectObject.PdfIndirectObject(int number = 38, int generation = 0, iTextSharp.text.pdf.PdfObject objecti = {Dictionary of type: /XObject}, iTextSharp.text.pdf.PdfWriter writer = {iTextSharp.text.pdf.PdfStamperImp}) Line 119 + 0xe bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfIndirectObject.PdfIndirectObject(int number = 38, iTextSharp.text.pdf.PdfObject objecti = {Dictionary of type: /XObject}, iTextSharp.text.pdf.PdfWriter writer = {iTextSharp.text.pdf.PdfStamperImp}) Line 97 + 0x11 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.PdfBody.Add(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}, int refNumber = 38, bool inObjStm = true) Line 355 + 0x1c bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.PdfBody.Add(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}, int refNumber = 38) Line 343 + 0xe bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.PdfBody.Add(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}) Line 292 + 0x1b bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.AddToBody(iTextSharp.text.pdf.PdfObject objecta = {Dictionary of type: /XObject}) Line 1866 + 0xc bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.Add(iTextSharp.text.pdf.PdfImage pdfImage = {Dictionary of type: /XObject}, iTextSharp.text.pdf.PdfIndirectReference fixedRef = null) Line 991 + 0xa bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.AddDirectImageSimple(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}, iTextSharp.text.pdf.PdfIndirectReference fixedRef = null) Line 967 + 0x11 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfWriter.AddDirectImageSimple(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}) Line 905 + 0xb bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfContentByte.AddImage(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}, float a = 250.0, float b = 0.0, float c = 0.0, float d = 75.0, float e = 0.0, float f = 0.0, bool inlineImage = false) Line 1211 + 0x10 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfContentByte.AddImage(iTextSharp.text.Image image = {Rectangle: 125x35 (rot: 0 degrees)}, float a = 250.0, float b = 0.0, float c = 0.0, float d = 75.0, float e = 0.0, float f = 0.0) Line 1133 + 0x1d bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfSignatureAppearance.GetAppearance() Line 329 + 0x79 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfSignatureAppearance.PreClose(System.Collections.Hashtable exclusionSizes = null) Line 732 + 0x11 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfSignatureAppearance.PreClose() Line 677 + 0x9 bytes
iTextSharpSign.exe!iTextSharp.text.pdf.PdfStamper.Close() Line 189 + 0xa bytes
iTextSharpSign.exe!iTextSharpSign.PDFSigner.Sign(string SigReason = "", string SigContact = "", string SigLocation = "", bool visible = true) Line 294 + 0xa bytes
iTextSharpSign.exe!iTextSharpSign.Form1.button1_Click(object sender = {Text = "Sign"}, System.EventArgs e = {X = 33 Y = 14 Button = Left}) Line 109 + 0x61 bytes
[External Code]
iTextSharpSign.exe!iTextSharpSign.Program.Main() Line 17 + 0x1a bytes
[External Code]
Thank you
David
Paulo Soares <[EMAIL PROTECTED]> wrote:
Paulo Soares <[EMAIL PROTECTED]> wrote:
What you're tying is possible because PdfReader(string file, byte[]
ownerPassword) will remove the encryption and will allow the PDF to be
signed. I've no idea where the error comes from as you don't show any stack
strace.
Paulo
----- Original Message -----
From: "David Saier" <[EMAIL PROTECTED]>
To:
Sent: Tuesday, July 11, 2006 9:05 PM
Subject: [iText-questions] Adding a signature to an encrypted pdf document.
Hello,
I have been trying to use iText to create a signature in an encrypted pdf
document. Basically I have a pdf document which is password encrypted with a
known owner password, and I want to add a signature to it. When I try it it
gives me an "Object reference set to null" error, making me believe the
problem is in accessing the document. I have gotten my code to work if the
pdf is not encrypted, however this is not an option for me, I have to have
the document locked before I add a signature to it.
Using the PdfReader(string file, byte[] ownerPassword) constructor for the
PdfReader I pass into the PdfStamper.CreateSignature does not seem to work.
Is what I am trying to do possible?
Thanks,
David
---------------------------------
Yahoo! Music Unlimited - Access over 1 million songs.Try it free.
--------------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/itext-questions
>
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail Beta.
------------------------------------------------------------------------- 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 [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions
