The Digital Signature Validator API provides endpoints to validate electronic signatures in documents. It supports both Qualified Electronic Signatures (QES) and Advanced Electronic Signatures (AdES) validation under standards like eIDAS. The validation process ensures the signatures' authenticity, compliance, and legal validity.
In a simplified model, validating a digital signature involves two main steps:
Cryptographic Validation: Ensuring the digital signature's cryptographic integrity by decrypting its value and comparing the result to the hash of the signed data.
Certificate Validation: Confirming the validity of the signing certificate, which includes performing certification path validation.
This endpoint validates Qualified Electronic Signatures (QES) in a document to ensure their authenticity,
compliance, and legal validity under regulations such as eIDAS. The validation process includes:
1. Extracting the Signature: Identifies and extracts the signature and its associated metadata from the document.
2. Cryptographic Integrity Check: Ensures that the signature's cryptographic mechanisms (e.g., hash, encryption) are valid and unaltered.
3. Certificate Qualification Validation:
- Confirms that the certificate used to create the signature is a Qualified Certificate for Electronic Signatures (QC).
- Checks the certificate's validity, including expiration, revocation status (via CRL and OCSP), and compliance with trusted root CAs.
- Verifies the certificate's qualification status using extensions and identifiers defined in standards such as ETSI EN 319 412.
- Ensures that the issuing Certificate Authority (CA) is on an officially trusted list (e.g., EU Trusted List).
4. Regulatory Compliance Check: Verifies that the signature fulfills all legal and technical requirements for QES as per eIDAS.
The method supports signature validation for the following document formats: PDF, XML.
Qualified Electronic Signature Validation - Endpoint Features
| Object | Description |
|---|---|
Request Body |
[Required] File Binary |
{
"documentName": "string",
"summary": {
"totalSignatures": 1073741824,
"validSignatures": 1073741824
},
"signatures": [
{
"signatureId": "string",
"indication": "string",
"indicationDetails": "string",
"signer": "string",
"validationTime": "2025-02-08T20:59:59.039Z",
"signingTime": "2025-02-08T20:59:59.039Z",
"signingCertificate": {
"subject": "string",
"issuer": "string",
"serialNumber": "string",
"validFrom": "2025-02-08T20:59:59.039Z",
"validTo": "2025-02-08T20:59:59.039Z"
},
"certificateChain": [
{
"subject": "string",
"issuer": "string",
"serialNumber": "string",
"validFrom": "2025-02-08T20:59:59.039Z",
"validTo": "2025-02-08T20:59:59.039Z"
}
],
"signatureDetails": {
"errors": [
"string"
],
"warns": [
"string"
],
"infos": [
"string"
]
}
}
]
}
curl --location 'https://zylalabs.com/api/6122/digital+signature+verification+api/8389/qualified+electronic+signature+validation' \
--header 'Content-Type: application/json' \
--form 'image=@"FILE_PATH"'
| Header | Description |
|---|---|
Authorization
|
[Required] Should be Bearer access_key. See "Your API Access Key" above when you are subscribed. |
No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.
The API confirms that the certificate used in the signature is a Qualified Certificate (QC) by: 1. Checking its compliance with ETSI EN 319 412 standards. 2. Verifying its revocation status using Certificate Revocation Lists (CRL) and Online Certificate Status Protocol (OCSP). 3. Ensuring that the issuing CA is recognized on EU Trusted List.
A Qualified Electronic Signature (QES) is the highest level of electronic signature under regulations like eIDAS. It provides legal equivalence to handwritten signatures. Validation ensures that the signature is authentic, legally compliant, and has not been tampered with.
The API currently supports validation of QES signatures in PDF and XML document formats.
Yes, the API ensures that validated signatures meet all the legal and technical requirements defined under eIDAS and other relevant electronic signature standards. This makes it suitable for use in legally binding digital transactions.
The API follows a multi-step process to validate QES, including: 1. Extracting the signature and metadata from the document. 2. Performing a cryptographic integrity check to ensure the signature is unaltered. 3. Validating the certificate, checking expiration, revocation status, and compliance with official trusted lists (e.g., EU Trusted List). 4. Ensuring the signature meets eIDAS legal and technical requirements.
The endpoint returns a JSON response containing details about the document, including the total number of signatures, valid signatures, and specific information for each signature, such as validation status, signer details, and certificate information.
Key fields include `documentName`, `summary` (with `totalSignatures` and `validSignatures`), and an array of `signatures` containing details like `signatureId`, `indication`, `signer`, and `signingCertificate`.
The response is structured in a hierarchical format, starting with document-level information, followed by a summary of signatures, and detailed validation results for each signature in an array format.
Users can customize their requests by providing parameters such as the document format (PDF or XML) and the signature data to be validated, ensuring the API processes the correct information.
The endpoint provides information on the validity of signatures, details about the signing certificate, validation time, signing time, and any errors or warnings encountered during the validation process.
Users can analyze the `summary` to assess overall signature validity and review individual `signatures` for detailed validation results, including any errors or warnings, to ensure compliance and authenticity.
The API performs multiple checks, including cryptographic integrity verification, certificate validation against trusted lists, and compliance with eIDAS standards, ensuring high data accuracy and reliability.
Typical use cases include validating electronic contracts, ensuring compliance in legal documents, and verifying signatures in financial transactions, where authenticity and legal validity are crucial.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund
To obtain your API key, you first need to sign in to your account and subscribe to the API you want to use. Once subscribed, go to your Profile, open the Subscription section, and select the specific API. Your API key will be available there and can be used to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
If you don’t cancel before the 7th day, your free trial will end automatically and your subscription will switch to a paid plan under the same plan you originally subscribed to, meaning you will be charged and gain access to the API calls included in that plan.
The free trial ends when you reach 50 API requests or after 7 days, whichever comes first.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes, we offer a 7-day free trial that allows you to make up to 50 API calls at no cost, so you can test our APIs without any commitment.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
Service Level:
100%
Response Time:
559ms
Service Level:
100%
Response Time:
577ms
Service Level:
100%
Response Time:
1,865ms
Service Level:
100%
Response Time:
187ms
Service Level:
100%
Response Time:
120ms
Service Level:
100%
Response Time:
720ms
Service Level:
100%
Response Time:
1,131ms
Service Level:
100%
Response Time:
37ms
Service Level:
100%
Response Time:
618ms
Service Level:
100%
Response Time:
1,726ms
Service Level:
100%
Response Time:
1,389ms
Service Level:
100%
Response Time:
4,861ms
Service Level:
100%
Response Time:
0ms
Service Level:
100%
Response Time:
2,811ms
Service Level:
100%
Response Time:
737ms
Service Level:
100%
Response Time:
9,202ms
Service Level:
100%
Response Time:
463ms
Service Level:
100%
Response Time:
726ms
Service Level:
100%
Response Time:
1,410ms
Service Level:
100%
Response Time:
11,907ms