Pdftools SDK
Loading...
Searching...
No Matches
PdfTools_PdfToolsCryptoProvidersBuiltIn.h
Go to the documentation of this file.
1/******************************************************************************
2 *
3 * File: PdfTools_PdfToolsCryptoProvidersBuiltIn.h
4 *
5 * Description: Sub Header file for Pdftools SDK
6 *
7 * Author: PDF Tools AG
8 *
9 * Copyright: Copyright (C) 2023 - 2024 PDF Tools AG, Switzerland
10 * All rights reserved.
11 *
12 * Notice: By downloading and using this artifact, you accept PDF Tools AG's
13 * [license agreement](https://www.pdf-tools.com/license-agreement/),
14 * [privacy policy](https://www.pdf-tools.com/privacy-policy/),
15 * and allow PDF Tools AG to track your usage data.
16 *
17 *****************************************************************************/
18
19#ifndef PDFTOOLS_PDFTOOLSCRYPTOPROVIDERSBUILTIN_H__
20#define PDFTOOLS_PDFTOOLSCRYPTOPROVIDERSBUILTIN_H__
21
22#ifndef PDFTOOLS_CALL
23#if defined(WIN32)
24#define PDFTOOLS_CALL __stdcall
25#else
26#define PDFTOOLS_CALL
27#endif
28#endif
29
30#include "PdfTools_Types.h"
32
33#ifdef __cplusplus
34extern "C"
35{
36#endif
37
38#ifdef _UNICODE
39#define PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificate \
40 PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificateW
41#define PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignature \
42 PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignatureW
43
44#define PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrlW
45#define PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrlW
46
47#else
48#define PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificate \
49 PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificateA
50#define PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignature \
51 PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignatureA
52
53#define PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrlA
54#define PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrlA
55
56#endif
57
58/******************************************************************************
59 * SignatureConfiguration
60 *****************************************************************************/
109 TPdfToolsCrypto_HashAlgorithm iHashAlgorithm);
154 TPdfToolsCrypto_SignaturePaddingType iSignaturePaddingType);
191 TPdfToolsCrypto_SignatureFormat iSignatureFormat);
233 TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration* pSignatureConfiguration, BOOL bAddTimestamp);
288 TPdfToolsCrypto_ValidationInformation iValidationInformation);
289
290/******************************************************************************
291 * TimestampConfiguration
292 *****************************************************************************/
345 TPdfToolsCrypto_HashAlgorithm iHashAlgorithm);
346
347/******************************************************************************
348 * Provider
349 *****************************************************************************/
360
387 const char* szPassword);
414 const WCHAR* szPassword);
460 int iSize, const char* szFormat, const char* szName);
492 int iSize, const WCHAR* szFormat, const WCHAR* szName);
512 const unsigned char* pSignature, size_t nSignatures);
513
553 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, char* pBuffer, size_t nBufferSize);
593 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, WCHAR* pBuffer, size_t nBufferSize);
627 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, const char* szTimestampUrl);
661 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, const WCHAR* szTimestampUrl);
662
663#ifdef __cplusplus
664}
665#endif
666
667#endif /* PDFTOOLS_PDFTOOLSCRYPTOPROVIDERSBUILTIN_H__ */
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrlA(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, const char *szTimestampUrl)
The URL of the trusted time-stamp authority (TSA) from which time-stamps shall be acquired.
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_TimestampConfiguration_SetHashAlgorithm(TPdfToolsCryptoProvidersBuiltIn_TimestampConfiguration *pTimestampConfiguration, TPdfToolsCrypto_HashAlgorithm iHashAlgorithm)
The message digest algorithm.
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrlW(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, const WCHAR *szTimestampUrl)
The URL of the trusted time-stamp authority (TSA) from which time-stamps shall be acquired.
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_SetSignaturePaddingType(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration, TPdfToolsCrypto_SignaturePaddingType iSignaturePaddingType)
The padding type of the cryptographic signature Default: ePdfToolsCrypto_SignaturePaddingType_RsaSsaP...
PDFTOOLS_EXPORT TPdfToolsCrypto_HashAlgorithm PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_GetHashAlgorithm(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration)
The message digest algorithm.
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_SetAddTimestamp(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration, BOOL bAddTimestamp)
Whether to add a trusted time-stamp to the signature.
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_SetSignatureFormat(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration, TPdfToolsCrypto_SignatureFormat iSignatureFormat)
The format (encoding) of the cryptographic signature Default: ePdfToolsCrypto_SignatureFormat_EtsiCad...
PDFTOOLS_EXPORT size_t PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrlW(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, WCHAR *pBuffer, size_t nBufferSize)
The URL of the trusted time-stamp authority (TSA) from which time-stamps shall be acquired.
PDFTOOLS_EXPORT TPdfToolsCrypto_ValidationInformation PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_GetValidationInformation(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration)
Whether to add validation information (LTV)
PDFTOOLS_EXPORT TPdfToolsCrypto_SignatureFormat PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_GetSignatureFormat(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration)
The format (encoding) of the cryptographic signature Default: ePdfToolsCrypto_SignatureFormat_EtsiCad...
PDFTOOLS_EXPORT TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificateA(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, const TPdfToolsSys_StreamDescriptor *pStreamDesc, const char *szPassword)
Create a configuration to sign with a PFX (PKCS#12) soft certificate The file must contain the certif...
PDFTOOLS_EXPORT TPdfToolsCryptoProvidersBuiltIn_Provider *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_New(void)
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_SetHashAlgorithm(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration, TPdfToolsCrypto_HashAlgorithm iHashAlgorithm)
The message digest algorithm.
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_GetAddTimestamp(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration)
Whether to add a trusted time-stamp to the signature.
PDFTOOLS_EXPORT TPdfToolsCryptoProvidersBuiltIn_TimestampConfiguration *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_CreateTimestamp(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider)
Create a time-stamp configuration Note that to create time-stamps, the PdfToolsCryptoProvidersBuiltIn...
PDFTOOLS_EXPORT TPdfToolsCrypto_HashAlgorithm PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_TimestampConfiguration_GetHashAlgorithm(TPdfToolsCryptoProvidersBuiltIn_TimestampConfiguration *pTimestampConfiguration)
The message digest algorithm.
PDFTOOLS_EXPORT TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificateW(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, const TPdfToolsSys_StreamDescriptor *pStreamDesc, const WCHAR *szPassword)
Create a configuration to sign with a PFX (PKCS#12) soft certificate The file must contain the certif...
PDFTOOLS_EXPORT BOOL PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_SetValidationInformation(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration, TPdfToolsCrypto_ValidationInformation iValidationInformation)
Whether to add validation information (LTV)
PDFTOOLS_EXPORT TPdfToolsCrypto_SignaturePaddingType PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_SignatureConfiguration_GetSignaturePaddingType(TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration *pSignatureConfiguration)
The padding type of the cryptographic signature Default: ePdfToolsCrypto_SignaturePaddingType_RsaSsaP...
#define PDFTOOLS_CALL
Definition PdfTools_PdfToolsCryptoProvidersBuiltIn.h:26
PDFTOOLS_EXPORT size_t PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrlA(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, char *pBuffer, size_t nBufferSize)
The URL of the trusted time-stamp authority (TSA) from which time-stamps shall be acquired.
PDFTOOLS_EXPORT TPdfToolsSign_SignatureConfiguration *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_ReadExternalSignature(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, const unsigned char *pSignature, size_t nSignatures)
Read signature created by an external signature handler See PdfToolsCryptoProvidersBuiltIn_Provider_C...
PDFTOOLS_EXPORT TPdfToolsSign_SignatureConfiguration *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignatureW(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, int iSize, const WCHAR *szFormat, const WCHAR *szName)
Create a configuration to prepare a signature for an external signature handler This method is part o...
PDFTOOLS_EXPORT TPdfToolsSign_SignatureConfiguration *PDFTOOLS_CALL PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignatureA(TPdfToolsCryptoProvidersBuiltIn_Provider *pProvider, int iSize, const char *szFormat, const char *szName)
Create a configuration to prepare a signature for an external signature handler This method is part o...
#define PDFTOOLS_EXPORT
Definition PdfTools_Platform.h:143
unsigned short WCHAR
Definition PdfTools_Platform.h:95
TPdfToolsCrypto_ValidationInformation
Whether to embed validation information to enable the long-term validation (LTV) of the signature.
Definition PdfTools_Types.h:1378
TPdfToolsCrypto_SignaturePaddingType
Padding scheme of the cryptographic signature algorithm The signature algorithm is defined by the sig...
Definition PdfTools_Types.h:1306
#define BOOL
Definition PdfTools_Types.h:23
TPdfToolsCrypto_SignatureFormat
Definition PdfTools_Types.h:1333
TPdfToolsCrypto_HashAlgorithm
Definition PdfTools_Types.h:1216
The built-in cryptographic provider.
Configuration for signature creation.
Structure that groups a set of callbacks that model streams.
Definition PdfTools_PdfToolsSys.h:49