e-Signature Library and API
Building electronic signatures from scratch takes months. With eSignature, PDF, XML and data signing comes down to a few lines: you add only the signature standard, signing hardware or timestamp provider you need, each as a separate package.
What is an e-signature library?
An e-signature library is a ready-made code package that gives your own software the ability to create and verify electronic signatures. It takes care of signature standards (CAdES, XAdES, PAdES, ASiC), certificate chain validation, timestamping and communication with signing hardware for you. eSignature does this on .NET with modular packages: if you only sign PDFs, one package is enough.
How is it used?
Add the package
You add the package for the standard you need to your project, for example eSignature.PAdES for PDF signatures.
Choose the signing source
Smart card, USB token, network HSM, cloud HSM or mobile signature — each provider is a separate, independent package.
Sign
A signature is created from the document, the certificate and the signature level; levels up to long-term archive (LTA) are supported.
Verify
The same library verifies the signature: RFC 5280 chain validation, CRL, OCSP, Delta CRL and offline validation.
What is in the library?
Modular design — 39 packages
You install only what you use; no unnecessary dependencies or bloat.
All ETSI profiles
CAdES (BES to A), XAdES (BES/T/C/X/XL/A), PAdES (B-B to B-LTA) and ASiC-S/ASiC-E.
Smart card and USB token
Via Windows CNG and PKCS#11; devices such as AKİS, SafeNet/eToken, Gemalto/Thales, IDEMIA, Feitian, YubiKey and Nitrokey.
HSM and cloud HSM
Thales Luna, Utimaco and Entrust nShield network HSMs; AWS CloudHSM/KMS, Azure Key Vault HSM and Google Cloud KMS.
Mobile signature
Turkcell, Vodafone and Türk Telekom mobile signature; each operator is a separate package. Started with a phone number, approved by the user.
11+ timestamp providers
KamuSM, GlobalSign, DigiCert, Sectigo, Entrust, FreeTSA and others; each TSA is a separate package.
Full certificate validation
RFC 5280 chain validation, CRL, OCSP, Delta CRL and offline validation — trust chain checks at banking and public sector level.
Regulatory compliance
Full compliance with Turkey's Electronic Signature Law No. 5070; on the European side, ETSI/eIDAS profiles in production.
Who uses it?
Software houses and product teams
Teams that want to add signing to their own application and solve it in days rather than months.
Public sector and enterprise integrators
Projects that need signing and verification in e-correspondence, document management systems (EBYS) and document workflows.
Finance and insurance
Processes that require high-volume signing, key management with HSMs and a full validation chain.
e-Document and invoicing solutions
Signing XML-based documents with XAdES and bringing them up to archive level.
Frequently asked questions
What is a PAdES signature?
PAdES (PDF Advanced Electronic Signatures) is an electronic signature format in which the signature is embedded inside the PDF file; it is defined by the ETSI EN 319 142 standard. The signed document remains a PDF, is verified through the signature panel in PDF readers such as Adobe Reader and can carry a visible signature field on the page. Its levels go up through B-B, B-T (timestamped), B-LT and B-LTA (long-term archive).
What is a CAdES signature?
CAdES (CMS Advanced Electronic Signatures) is an electronic signature format based on the CMS/PKCS#7 structure; it is defined by the ETSI EN 319 122 standard. It can sign any type of file; the signature is usually carried with the document as a .p7s or inside a signed envelope. In Turkey it is the most widely used format in e-signed official correspondence.
What is a XAdES signature?
XAdES (XML Advanced Electronic Signatures) is an electronic signature format developed for XML documents; it is defined by the ETSI EN 319 132 standard. The signature can be embedded in the XML or kept separate. It is used for XML-based documents such as e-invoices in the UBL-TR format.
What is an e-signature library?
An e-signature library is a developer component (SDK) that adds creating and verifying electronic signatures to your own software. A ready-made signing application gives the user a screen; a library is a building block without a screen — your application signs, within your workflow. It works with smart cards, tokens or HSMs and creates and verifies CAdES, XAdES and PAdES formats.
What is an e-Yazışma package?
An e-Yazışma package is the standard package used in official electronic correspondence with public institutions in Turkey: the signed document, the metadata file and any attachments are put together into a single package. Between institutions it is usually sent via KEP (registered electronic mail).
How is an e-Yazışma package created?
An official e-Yazışma package is the signed document packaged together with its metadata file. The library does this in a single call: it signs the document with CAdES or XAdES, generates schema-compliant metadata and closes the package. e-Yazışma versions 1.3 and 2.0 are supported and the KamuSM root certificate comes built in. Give it a folder and it signs the documents inside in bulk.
What is the difference between an e-signature library and a ready-made application?
A library goes inside your own software: your workflow triggers signing and the interface is yours. The ready-made application (İmzacı) runs on the desktop, where the user picks a file and signs it. Both use the same signing infrastructure; which one suits you depends on who starts the signature — your software or the user.
Which signature standards are supported?
CAdES (BES, EPES, T, C, X, XL, A), XAdES (BES, T, C, X, XL, A), PAdES (B-B, B-T, B-LT, B-LTA) and ASiC-S and ASiC-E. You reach long-term archive level with a single library.
I will only sign PDFs — do I need to install everything?
No. The library is modular; the eSignature.PAdES package is enough for PDF. Standards, TSAs and hardware providers you do not use never enter your project.
How do you sign a PDF in a web application?
The signature is not created in the browser but on the server side of your web application: the eSignature.PAdES package is called and the signed PDF is returned to the user. Where the key lives is what decides it — if you use a cloud HSM, a network HSM or mobile signature, the server can reach the key, so the whole flow runs over the web. If the key is on the user's smart card, the browser cannot access the card; in that scenario signing is done on the desktop with İmzacı.
Does it work if the key is in an HSM or in the cloud rather than on a smart card?
Yes. The signing source is abstracted: smart cards and USB tokens (CNG/PKCS#11), network HSMs, cloud HSM services and mobile signature are used with the same flow. Each provider is an independent package.
Does it also verify signatures?
Yes. RFC 5280 certificate chain validation, CRL, OCSP, Delta CRL and offline validation are inside the library; the same component creates and verifies the signature.
Is there something for users who want to sign on the desktop?
Yes. The desktop application you use without writing code is İmzacı: it signs PDF and XML with a smart card, creates e-Yazışma packages and does folder-based bulk signing.
What is the fastest way to add electronic signatures to a .NET or Java project?
Add the package for the standard you need to your project: eSignature.PAdES for PDF signatures, the XAdES package for XML. Because the library is split into 39 NuGet packages, you install only what you use; no single large dependency enters your project.
Which smart cards and tokens are supported?
Devices such as AKİS, SafeNet/eToken, Gemalto/Thales, IDEMIA, Feitian, YubiKey and Nitrokey are supported via Windows CNG and PKCS#11. Each provider is a separate, independent package; drivers you do not use never enter your project.
Can signatures be created with an HSM on the server side?
Yes. Thales Luna, Utimaco and Entrust nShield network HSMs as well as AWS CloudHSM/KMS, Azure Key Vault HSM and Google Cloud KMS are supported. This is how an automated signing flow is set up on the server, without a user holding a card.
Do I need a separate library for signature verification?
No; the same component creates and verifies the signature. RFC 5280 certificate chain validation, CRL, OCSP, Delta CRL and offline validation are inside the library.
How much does an eSignature license cost?
The SDK license is set by the scope of the project: which signature standards, which token/HSM providers and how many developers/installations determine the price.
What sets the price?
- Signature standards to be used (CAdES, XAdES, PAdES, ASiC)
- Smart card / token, or network or cloud HSM
- Number of developers and distribution model
- Number of timestamp providers
- Scope of support and version updates
We send the quote in writing, item by item, within 24 hours.
Related pages
Let's talk about the integration
Which standard, which signing hardware and what volume? Let's work out the license model and the integration plan together.
SDK License / Get InfoPart of the eSignature family.