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 *****************************************************************************/
13
14#ifndef PDFTOOLS_PDFTOOLSCRYPTOPROVIDERSBUILTIN_H__
15#define PDFTOOLS_PDFTOOLSCRYPTOPROVIDERSBUILTIN_H__
16
17#ifndef PDFTOOLS_CALL
18#if defined(WIN32)
19#define PDFTOOLS_CALL __stdcall
20#else
21#define PDFTOOLS_CALL
22#endif
23#endif
24
25#include "PdfTools_Types.h"
27
28#ifdef __cplusplus
29extern "C"
30{
31#endif
32
33#ifdef _UNICODE
34#define PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificate \
35 PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificateW
36#define PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignature \
37 PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignatureW
38
39#define PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrlW
40#define PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrlW
41
42#else
43#define PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificate \
44 PdfToolsCryptoProvidersBuiltIn_Provider_CreateSignatureFromCertificateA
45#define PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignature \
46 PdfToolsCryptoProvidersBuiltIn_Provider_CreatePreparedSignatureA
47
48#define PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_GetTimestampUrlA
49#define PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrl PdfToolsCryptoProvidersBuiltIn_Provider_SetTimestampUrlA
50
51#endif
52
53/******************************************************************************
54 * SignatureConfiguration
55 *****************************************************************************/
105 TPdfToolsCrypto_HashAlgorithm iHashAlgorithm);
151 TPdfToolsCrypto_SignaturePaddingType iSignaturePaddingType);
189 TPdfToolsCrypto_SignatureFormat iSignatureFormat);
231 TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration* pSignatureConfiguration, BOOL bAddTimestamp);
287 TPdfToolsCrypto_ValidationInformation iValidationInformation);
288
289/******************************************************************************
290 * TimestampConfiguration
291 *****************************************************************************/
345 TPdfToolsCrypto_HashAlgorithm iHashAlgorithm);
346
347/******************************************************************************
348 * Provider
349 *****************************************************************************/
361
389 const char* szPassword);
417 const WCHAR* szPassword);
465 int iSize, const char* szFormat, const char* szName);
498 int iSize, const WCHAR* szFormat, const WCHAR* szName);
519 const unsigned char* pSignature, size_t nSignatures);
520
560 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, char* pBuffer, size_t nBufferSize);
600 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, WCHAR* pBuffer, size_t nBufferSize);
634 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, const char* szTimestampUrl);
668 TPdfToolsCryptoProvidersBuiltIn_Provider* pProvider, const WCHAR* szTimestampUrl);
669
670#ifdef __cplusplus
671}
672#endif
673
674#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:21
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:138
unsigned short WCHAR
Definition PdfTools_Platform.h:90
struct TPdfToolsCryptoProvidersBuiltIn_TimestampConfiguration TPdfToolsCryptoProvidersBuiltIn_TimestampConfiguration
The time-stamp configuration.
Definition PdfTools_Types.h:2987
TPdfToolsCrypto_ValidationInformation
Whether to embed validation information to enable the long-term validation (LTV) of the signature.
Definition PdfTools_Types.h:1373
struct TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration TPdfToolsCryptoProvidersBuiltIn_SignatureConfiguration
The signature configuration.
Definition PdfTools_Types.h:2982
struct TPdfToolsSign_SignatureConfiguration TPdfToolsSign_SignatureConfiguration
Configuration for signature creation.
Definition PdfTools_Types.h:2794
struct TPdfToolsCryptoProvidersBuiltIn_Provider TPdfToolsCryptoProvidersBuiltIn_Provider
The built-in cryptographic provider.
Definition PdfTools_Types.h:3013
TPdfToolsCrypto_SignaturePaddingType
Padding scheme of the cryptographic signature algorithm The signature algorithm is defined by the sig...
Definition PdfTools_Types.h:1301
#define BOOL
Definition PdfTools_Types.h:18
TPdfToolsCrypto_SignatureFormat
Definition PdfTools_Types.h:1328
TPdfToolsCrypto_HashAlgorithm
Definition PdfTools_Types.h:1211
Structure that groups a set of callbacks that model streams.
Definition PdfTools_PdfToolsSys.h:44