Integration layer for Pkcs11Interop and iText (iTextSharp) libraries
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
build Added build scripts May 21, 2017
doc Updated version information to 1.3.0 May 21, 2017
src Token label may be empty string Jun 29, 2017
.gitattributes Updated .git files Mar 23, 2014
.gitignore Updated .git files Mar 23, 2014
LICENSE Updated years in copyrights May 21, 2017 Updated README May 21, 2017


Integration layer for Pkcs11Interop and iText (iTextSharp) libraries

Table of Contents


iTextSharp is a C# port of iText - an open-source Java library for PDF generation and manipulation. It can be used to create PDF documents from scratch, to convert XML to PDF, to fill out interactive PDF forms, to stamp new content on existing PDF documents, to split and merge existing PDF documents, to add digital signatures to PDF documents and much more.

Pkcs11interop is managed library written in C# that brings full power of PKCS#11 API to the .NET environment. PKCS#11 is cryptography standard maintained by the OASIS PKCS 11 Technical Committee (originally published by RSA Laboratories) that defines ANSI C API to access smart cards and other types of cryptographic hardware.

Pkcs11interop.PDF creates an integration layer between Pkcs11Interop and iTextSharp libraries by extending iTextSharp with the ability to digitally sign PDF document with the private key stored on almost any PKCS#11 compatible device.

Pkcs11Interop.PDF library:

  • enables iTextSharp to digitally sign PDF document with smartcard or any other PKCS#11 compatible device
  • is compatible with .NET Framework and Mono
  • is supported on Windows, Linux and Mac OS X
  • is supported on both 32-bit and 64-bit platforms
  • is available under open-source or commercial license
  • uses 100% managed and fully documented code
  • is directly supported by its original developer


Pkcs11Interop.PDF API is fully documented with the inline XML documentation that is displayed by the most of the modern IDEs during the application development. Detailed Pkcs11Interop.PDF API documentation is also available online.

Pkcs11Interop.PDF source code contains well documented unit tests and demonstration command line application that also serve as official code samples.

General information about digital signatures in PDF documents can be found in a great white paper called Digital Signatures for PDF documents written by Bruno Lowagie from iText Software.

There are also many useful code samples in iTextSharp tutorial repository.


Archives with the source code and binaries can be downloaded from our releases page.

Official NuGet packages are published in repository.

All official items are signed with GnuPG key or code-signing certificate of Jaroslav Imrich.


Pkcs11Interop.PDF uses dual-licensing model:

  • Licensing for open source projects:
    Pkcs11Interop.PDF is available under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
  • Licensing for other types of projects:
    Pkcs11Interop.PDF is available under the terms of flexible commercial license. Please contact JWC s.r.o. at for more details.


Pick one of the options that best suits your needs:

Related projects

  • Pkcs11Interop
    Managed .NET wrapper for unmanaged PKCS#11 libraries.
  • Pkcs11Admin
    GUI tool for administration of PKCS#11 enabled devices based on Pkcs11Interop library.
    PKCS#11 logging proxy module useful for debugging of PKCS#11 enabled applications.
  • SoftHSM2-for-Windows
    Pure software implementation of a cryptographic store accessible through a PKCS#11 interface.


Pkcs11Interop.PDF has been written by Jaroslav Imrich.
Commercial license and support are provided by Slovakia (EU) based company JWC s.r.o.