Vanilla.PDF  2.2.0
Cross-platform toolkit for creating and modifying PDF documents
c_signature_verifier.h
Go to the documentation of this file.
1#ifndef _C_SIGNATURE_VERIFIER_H
2#define _C_SIGNATURE_VERIFIER_H
3
7
8#ifdef __cplusplus
9extern "C"
10{
11#endif
12
37 typedef enum {
50
59 VANILLAPDF_API error_type CALLING_CONVENTION TrustedCertificateStore_Create(
61 );
62
70 const BufferHandle* pem_data
71 );
72
80 const BufferHandle* der_data
81 );
82
88 VANILLAPDF_API error_type CALLING_CONVENTION TrustedCertificateStore_LoadFromDirectory(
90 string_type directory_path
91 );
92
102 );
103
108 VANILLAPDF_API error_type CALLING_CONVENTION TrustedCertificateStore_Release(
110 );
111
136 VANILLAPDF_API error_type CALLING_CONVENTION SignatureVerifier_Verify(
137 const BufferHandle* signed_data,
138 const BufferHandle* signature_contents,
139 TrustedCertificateStoreHandle* trusted_store,
142 );
143
154 VANILLAPDF_API error_type CALLING_CONVENTION SignatureVerificationResult_GetStatus(
157 );
158
162 VANILLAPDF_API error_type CALLING_CONVENTION SignatureVerificationResult_GetMessage(
164 BufferHandle** result
165 );
166
172 boolean_type* result
173 );
174
180 boolean_type* result
181 );
182
188 boolean_type* result
189 );
190
196 BufferHandle** result
197 );
198
206 size_type* result
207 );
208
217 size_type index,
218 BufferHandle** result
219 );
220
226 BufferHandle** result
227 );
228
233 VANILLAPDF_API error_type CALLING_CONVENTION SignatureVerificationResult_Release(
235 );
236
239#ifdef __cplusplus
240};
241#endif
242
243#endif /* _C_SIGNATURE_VERIFIER_H */
This file contains macro declarations for importing and exporting symbols from library boundaries.
This file contains all type forward declarations returned by the library API.
This file contains types and constants used as parameters or return values.
Represents memory stored data.
Result of signature verification operation.
error_type CALLING_CONVENTION SignatureVerificationResult_GetStatus(SignatureVerificationResultHandle *handle, SignatureVerificationStatusType *result)
Get overall verification status.
error_type CALLING_CONVENTION SignatureVerificationResult_Release(SignatureVerificationResultHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION SignatureVerificationResult_GetSignerCertificate(SignatureVerificationResultHandle *handle, BufferHandle **result)
Get signer's certificate (DER-encoded)
error_type CALLING_CONVENTION SignatureVerificationResult_IsDocumentIntact(SignatureVerificationResultHandle *handle, boolean_type *result)
Check if document bytes are intact (ByteRange matches)
error_type CALLING_CONVENTION SignatureVerificationResult_GetSignerCommonName(SignatureVerificationResultHandle *handle, BufferHandle **result)
Get signer's common name from certificate.
error_type CALLING_CONVENTION SignatureVerificationResult_IsSignatureValid(SignatureVerificationResultHandle *handle, boolean_type *result)
Check if signature is cryptographically valid.
error_type CALLING_CONVENTION SignatureVerificationResult_GetMessage(SignatureVerificationResultHandle *handle, BufferHandle **result)
Get human-readable message describing verification result.
error_type CALLING_CONVENTION SignatureVerificationResult_GetCertificateChainAt(SignatureVerificationResultHandle *handle, size_type index, BufferHandle **result)
Get certificate from chain at index.
error_type CALLING_CONVENTION SignatureVerificationResult_IsCertificateTrusted(SignatureVerificationResultHandle *handle, boolean_type *result)
Check if certificate chain is trusted.
error_type CALLING_CONVENTION SignatureVerificationResult_GetCertificateChainCount(SignatureVerificationResultHandle *handle, size_type *result)
Get number of certificates in the chain.
Configuration settings for signature verification.
error_type CALLING_CONVENTION SignatureVerifier_Verify(const BufferHandle *signed_data, const BufferHandle *signature_contents, TrustedCertificateStoreHandle *trusted_store, SignatureVerificationSettingsHandle *settings, SignatureVerificationResultHandle **result)
Verify digital signature (low-level API)
Collection of trusted certificates for signature verification.
error_type CALLING_CONVENTION TrustedCertificateStore_LoadSystemDefaults(TrustedCertificateStoreHandle *handle)
Load system default trusted certificates.
error_type CALLING_CONVENTION TrustedCertificateStore_Release(TrustedCertificateStoreHandle *handle)
Decrement the internal reference counter.
error_type CALLING_CONVENTION TrustedCertificateStore_Create(TrustedCertificateStoreHandle **result)
Create an empty trusted certificate store.
error_type CALLING_CONVENTION TrustedCertificateStore_LoadFromDirectory(TrustedCertificateStoreHandle *handle, string_type directory_path)
Load certificates from directory (e.g., /etc/ssl/certs)
error_type CALLING_CONVENTION TrustedCertificateStore_AddCertificateFromPEM(TrustedCertificateStoreHandle *handle, const BufferHandle *pem_data)
Add a certificate from PEM format.
error_type CALLING_CONVENTION TrustedCertificateStore_AddCertificateFromDER(TrustedCertificateStoreHandle *handle, const BufferHandle *der_data)
Add a certificate from DER format.
uint32_t error_type
This is return value type of all API functions.
Definition c_types.h:25
int8_t boolean_type
Boolean type supported in C.
Definition c_types.h:31
uint32_t size_type
Size type defined in standard library.
Definition c_types.h:62
const char * string_type
C-Style string.
Definition c_types.h:82
SignatureVerificationStatusType
Overall status of signature verification.
Definition c_signature_verifier.h:37
@ SignatureStatus_MissingCertificate
Definition c_signature_verifier.h:47
@ SignatureStatus_WeakAlgorithm
Definition c_signature_verifier.h:46
@ SignatureStatus_CertificateRevoked
Definition c_signature_verifier.h:43
@ SignatureStatus_CertificateExpired
Definition c_signature_verifier.h:41
@ SignatureStatus_Invalid
Definition c_signature_verifier.h:40
@ SignatureStatus_CertificateUntrusted
Definition c_signature_verifier.h:44
@ SignatureStatus_Unknown
Definition c_signature_verifier.h:48
@ SignatureStatus_Valid
Definition c_signature_verifier.h:39
@ SignatureStatus_DocumentModified
Definition c_signature_verifier.h:45
@ SignatureStatus_Undefined
Definition c_signature_verifier.h:38
@ SignatureStatus_CertificateNotYetValid
Definition c_signature_verifier.h:42