Spire.PDF is a professional PDF library applied to creating, writing, editing, handling and reading PDF files without any external dependencies. Get free and professional technical support for Spire.PDF for .NET, Java, Android, C++, Python.

Mon Apr 08, 2019 10:58 am

Hi,

i'm trying out Spire.PDF. I have 1 requirement that i want to see work before deciding to buy the library for our production environment.

We require to integrate with ocsp.eid.belgium.be to check if the signature has been revoked.

I do see a .ConfigureHttpOCSP function in Spire.PDF but i cannot find documentation about it.
Can you help out and provide me a sample?

Code: Select all
 using (PdfDocument pdf = new PdfDocument(filename))
            {
                List<PdfSignature> signatures = new List<PdfSignature>();

                if (pdf.Form != null)
                {
                    var form = pdf.Form as PdfFormWidget;
                    for (int i = 0; i < form.FieldsWidget.Count; ++i)
                    {
                        var field = form.FieldsWidget[i] as PdfSignatureFieldWidget;
                        if (field != null && field.Signature != null)
                        {

                            PdfSignature signature = field.Signature;
                            signatures.Add(signature);
                            signatures[0].ConfigureHttpOCSP("http://ocsp.eid.belgium.be/",signature.Certificates);
                            X509Certificate2 certificate = signatures[0].Certificate;

                            bool modified = signatures[0].VerifyDocModified();
                            bool validSignature = signatures[0].VerifySignature();
// TODO: HOW DO I GET THE OCSP VERIFICATION WORKING?
                        }
                    }         
                }
            }

nmaarse
 
Posts: 1
Joined: Mon Apr 08, 2019 9:56 am

Tue Apr 09, 2019 7:22 am

Hello,

Thanks for your inquiry.
This is a new feature which we just supported in the latest Spire.PDF 5.4.1. Sorry there is no corresponding documentation at present. Please refer to the following sample code to test your case. If there is any question, please provide your input PDF file to help us further investigate it. You could send it to us via email ([email protected]).
Code: Select all
  PdfDocument pdf = new PdfDocument(@"sample.pdf");
  PdfCertificate cert = new PdfCertificate(@"test.pfx", "password", X509KeyStorageFlags.Exportable);
  //Get the list of filed collection
  PdfFormWidget widgets = pdf.Form as PdfFormWidget;
  for (int i = 0; i < widgets.FieldsWidget.List.Count; i++)
  {
      PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget;
      //judge if filed is a signature filed
      if (widget is PdfSignatureFieldWidget)
      {
          //Sign in the existing field
          string sgn = widget.Name;
          PdfSignatureFieldWidget SignWidge = widget as PdfSignatureFieldWidget;
          PdfSignature signature = new PdfSignature(pdf, pdf.Pages[0], cert, sgn, SignWidge);
          signature.ContactInfo = "Test";
          signature.Date = DateTime.Now;
          signature.ConfigureHttpOCSP("http://ocsp.eid.belgium.be", signature.Certificates);
      }
  }
  pdf.SaveToFile("result.pdf");

Sincerely,
Lisa
E-iceblue support team
User avatar

Lisa.Li
 
Posts: 1535
Joined: Wed Apr 25, 2018 3:20 am

Wed Apr 17, 2019 6:41 am

Hello,

Greetings from E-iceblue.
Did the sample code help you? Any feedback will be appreciated.

Sincerely,
Lisa
E-iceblue support team
User avatar

Lisa.Li
 
Posts: 1535
Joined: Wed Apr 25, 2018 3:20 am

Return to Spire.PDF

cron