1#ifndef __DIGIDOC_OBJ_H__
2#define __DIGIDOC_OBJ_H__
25#include "DigiDocDefs.h"
26#include "DigiDocMem.h"
27#include <openssl/x509.h>
28#include <openssl/ocsp.h>
49 char* szStateOrProvince;
58 char** pCertifiedRoles;
79#define CERTID_TYPE_UNKNOWN 0
80#define CERTID_TYPE_SIGNERS_CERTID 1
81#define CERTID_TYPE_RESPONDERS_CERTID 2
82#define CERTID_TYPE_TSA_CERTID 3
84#define CERTID_VALUE_CA_CERT 4
102#define CERTID_VALUE_UNKNOWN 0
103#define CERTID_VALUE_SIGNERS_CERT 1
104#define CERTID_VALUE_RESPONDERS_CERT 2
105#define CERTID_VALUE_TSA_CERT 3
107#define CERTID_TYPE_CA_CERTID 4
108#define ERR_VER_1_0 300
196EXP_OPTION
int setString(
char** dest,
const char* value,
int valLen);
199EXP_OPTION
int SignedDoc_new(
SignedDoc **newSignedDoc,
const char* format,
const char* version);
201EXP_OPTION
void SignedDoc_free(
SignedDoc* pSigDoc);
206EXP_OPTION
int getCountOfDataFiles(
const SignedDoc* pSigDoc);
212EXP_OPTION
int ddocGetDataFileFilename(
SignedDoc* pSigDoc,
const char* szDocId,
void** ppBuf,
int* pLen);
218EXP_OPTION
int DataFile_new(
DataFile **newDataFile,
SignedDoc* pSigDoc,
const char*
id,
219 const char* filename,
const char* contentType,
220 const char* mime,
long size,
221 const byte* digest,
int digLen,
222 const char* digType,
const char* szCharset);
224EXP_OPTION
void DataFile_free(
DataFile* pDataFile);
227EXP_OPTION
int DataFile_delete(
SignedDoc* pSigDoc,
const char*
id);
243EXP_OPTION
int ddocDataFile_SetDigestValue(
DataFile* pDataFile,
244 const char* value,
long len);
260EXP_OPTION
int ddocDataFile_SetDetachedDigestValue(
DataFile* pDataFile,
261 const char* value,
long len);
277EXP_OPTION
int ddocDataFile_SetWrongDigestValue(
DataFile* pDataFile,
278 const char* value,
long len);
281EXP_OPTION
int getCountOfDataFileAttributes(
const DataFile* pDataFile);
283EXP_OPTION
int addDataFileAttribute(
DataFile* pDataFile,
const char* name,
286EXP_OPTION
int getDataFileAttribute(
DataFile* pDataFile,
int idx,
char** name,
char** value);
289EXP_OPTION
int ddocGetDataFileCachedData(
SignedDoc* pSigDoc,
const char* szDocId,
void** ppBuf,
long* pLen);
292EXP_OPTION
void ddocAppendDataFileData(
DataFile* pDf,
int maxLen,
void* data,
int len,
int isBase64);
296EXP_OPTION
int calculateDataFileSizeAndDigest(
SignedDoc* pSigDoc,
const char*
id,
297 const char* filename,
int digType);
310EXP_OPTION
int createDataFileInMemory(
DataFile **ppDataFile,
SignedDoc* pSigDoc,
const char*
id,
311 const char* filename,
const char* contentType,
312 const char* mime,
const char* pData,
long size);
323EXP_OPTION
int ddocDigestValue_new(
DigestValue** ppDigestValue,
324 const char* szDigestMethod,
325 void* szDigVal,
long lDigLen);
332EXP_OPTION
int ddocDigestValue_free(
DigestValue* pDigestValue);
339EXP_OPTION
const char* ddocDigestValue_GetDigestMethod(
DigestValue* pDigestValue);
347EXP_OPTION
int ddocDigestValue_SetDigestMethod(
DigestValue* pDigestValue,
const char* value);
363EXP_OPTION
int ddocDigestValue_SetDigestValue(
DigestValue* pDigestValue,
364 const char* value,
long len);
388EXP_OPTION
int getNextSignatureId(
const SignedDoc* pSigDoc);
398EXP_OPTION
int ddocSignatureValue_new(
SignatureValue** ppSignatureValue,
399 const char* szId,
const char* szType,
400 void* szSigVal,
long lSigLen);
407EXP_OPTION
int ddocSignatureValue_free(
SignatureValue* pSignatureValue);
414EXP_OPTION
const char* ddocSignatureValue_GetId(
const SignatureValue* pSignatureValue);
422EXP_OPTION
int ddocSignatureValue_SetId(
SignatureValue* pSignatureValue,
const char* value);
429EXP_OPTION
const char* ddocSignatureValue_GetType(
const SignatureValue* pSignatureValue);
437EXP_OPTION
int ddocSignatureValue_SetType(
SignatureValue* pSignatureValue,
const char* value);
453EXP_OPTION
int ddocSignatureValue_SetSignatureValue(
SignatureValue* pSignatureValue,
454 const char* value,
long len);
476EXP_OPTION
int ddocCertID_new(
CertID** ppCertID,
477 int nType,
const char* szId,
478 const char* szIssuerSerial,
const char* szIssuerName,
479 void* szDigVal,
long lDigLen);
486EXP_OPTION
int ddocCertID_free(
CertID* pCertID);
493EXP_OPTION
const char* ddocCertID_GetId(
const CertID* pCertID);
501EXP_OPTION
int ddocCertID_SetId(
CertID* pCertID,
const char* value);
508EXP_OPTION
const char* ddocCertID_GetIssuerSerial(
const CertID* pCertID);
516EXP_OPTION
int ddocCertID_SetIssuerSerial(
CertID* pCertID,
const char* value);
523EXP_OPTION
const char* ddocCertID_GetIssuerName(
const CertID* pCertID);
531EXP_OPTION
int ddocCertID_SetIssuerName(
CertID* pCertID,
const char* value);
548EXP_OPTION
int ddocCertID_SetDigestValue(
CertID* pCertID,
549 const char* value,
long len);
584EXP_OPTION
int ddocCertIDList_new(
CertIDList** ppCertIDList);
591EXP_OPTION
int ddocCertIDList_free(
CertIDList* pCertIDList);
605EXP_OPTION
int ddocCertIDList_GetCertIDsCount(
CertIDList* pCertIDList);
613EXP_OPTION
CertID* ddocCertIDList_GetCertID(
CertIDList* pCertIDList,
int nIdx);
628EXP_OPTION
int ddocCertIDList_DeleteCertID(
CertIDList* pCertIDList,
int nIdx);
636EXP_OPTION
CertID* ddocCertIDList_GetCertIDOfType(
CertIDList* pCertIDList,
int nType);
644EXP_OPTION
CertID* ddocCertIDList_GetCertIDOfSerial(
CertIDList* pCertIDList,
const char* szSerial);
652EXP_OPTION
CertID* ddocCertIDList_GetOrCreateCertIDOfType(
CertIDList* pCertIDList,
int nType);
664EXP_OPTION
int ddocCertValue_new(
CertValue** ppCertValue,
665 int nType,
const char* szId,
673EXP_OPTION
int ddocCertValue_free(
CertValue* pCertValue);
680EXP_OPTION
const char* ddocCertValue_GetId(
CertValue* pCertValue);
688EXP_OPTION
int ddocCertValue_SetId(
CertValue* pCertValue,
const char* value);
695EXP_OPTION X509* ddocCertValue_GetCert(
CertValue* pCertValue);
703EXP_OPTION
int ddocCertValue_SetCert(
CertValue* pCertValue, X509* pCert);
720EXP_OPTION
int ddocCertValueList_new(
CertValueList** ppCertValueList);
727EXP_OPTION
int ddocCertValueList_free(
CertValueList* pCertValueList);
742EXP_OPTION
int ddocCertValueList_GetCertValuesCount(
CertValueList* pCertValueList);
758EXP_OPTION
int ddocCertValueList_DeleteCertValue(
CertValueList* pCertValueList,
int nIdx);
774EXP_OPTION
CertValue* ddocCertValueList_GetOrCreateCertValueOfType(
CertValueList* pCertValueList,
int nType);
779EXP_OPTION
int getCountOfSignatures(
const SignedDoc* pSigDoc);
796EXP_OPTION
int ddocSigInfo_SetSigPropDigest(
SignatureInfo* pSigInfo,
const char* value,
long len);
811EXP_OPTION
int ddocSigInfo_SetSigPropRealDigest(
SignatureInfo* pSigInfo,
const char* value,
long len);
826EXP_OPTION
int ddocSigInfo_SetSigInfoRealDigest(
SignatureInfo* pSigInfo,
const char* value,
long len);
848EXP_OPTION
int ddocSigInfo_SetSignatureValue(
SignatureInfo* pSigInfo,
const char* value,
long len);
855EXP_OPTION
const char* ddocSigInfo_GetSignersCert_IssuerSerial(
const SignatureInfo* pSigInfo);
862EXP_OPTION
int ddocSigInfo_SetSignersCert_IssuerSerial(
SignatureInfo* pSigInfo,
const char* value);
869EXP_OPTION
const char* ddocSigInfo_GetSignersCert_IssuerName(
const SignatureInfo* pSigInfo);
884EXP_OPTION
int ddocSigInfo_SetSignersCert_IssuerName(
SignatureInfo* pSigInfo,
const char* value);
899EXP_OPTION
int ddocSigInfo_SetSignersCert_DigestValue(
SignatureInfo* pSigInfo,
const char* value,
long len);
952EXP_OPTION X509* ddocSigInfo_GetSignersCert(
const SignatureInfo* pSigInfo);
960EXP_OPTION
int ddocSigInfo_SetSignersCert(
SignatureInfo* pSigInfo, X509* pCert);
967EXP_OPTION X509* ddocSigInfo_GetOCSPRespondersCert(
const SignatureInfo* pSigInfo);
975EXP_OPTION
int ddocSigInfo_SetOCSPRespondersCert(
SignatureInfo* pSigInfo, X509* pCert);
984EXP_OPTION
int ddocSigInfo_addCert(
SignatureInfo* pSigInfo, X509* pCert,
int nCertIdType);
986EXP_OPTION
int bdocSigInfo_addCert(
SignatureInfo* pSigInfo, X509* pCert,
int nCertIdType);
1001EXP_OPTION
int setSignatureProductionPlace(
SignatureInfo* pSigInfo,
1002 const char* city,
const char* state,
1003 const char* zip,
const char* country);
1005EXP_OPTION
int addSignerRole(
SignatureInfo* pSigInfo,
int nCertified,
1006 const char* role,
int rLen,
int encode);
1008EXP_OPTION
int getCountOfSignerRoles(
SignatureInfo* pSigInfo,
int nCertified);
1010EXP_OPTION
const char* getSignerRole(
SignatureInfo* pSigInfo,
int nCertified,
int nIdx);
1013EXP_OPTION
int SignatureInfo_delete(
SignedDoc* pSigDoc,
const char*
id);
1022 const char* digType,
const byte* digest,
1023 int digLen,
const byte* mimeDig,
int mimeDigLen);
1025EXP_OPTION
void DocInfo_free(
DocInfo* pDocInfo);
1027EXP_OPTION
int getCountOfDocInfos(
const SignatureInfo* pSigInfo);
1037EXP_OPTION
void setDocInfoDigest(
DocInfo* pDocInfo,
const byte* digest,
1038 int digLen,
const char* digType);
1040EXP_OPTION
void setDocInfoMimeDigest(
DocInfo* pDocInfo,
const byte* mimeDig,
int mimeDigLen);
1048EXP_OPTION
int getCountOfNotaryInfos(
const SignedDoc* pSigDoc);
1065 const char* ocspRespFile,
const char* notaryCertFile);
1067EXP_OPTION
void NotaryInfo_free(
NotaryInfo* pNotary);
1081EXP_OPTION
const char* ddocNotInfo_GetResponderId_Value(
const NotaryInfo* pNotary);
1090int ddocNotInfo_SetResponderId(
NotaryInfo* pNotary,
const char* data,
long len);
1106int ddocGetOcspRespIdTypeAndValue(OCSP_RESPONSE* pResp,
1117int ddocNotInfo_SetOCSPResponse(
NotaryInfo* pNotary,
const char* data,
long len);
1125OCSP_RESPONSE* ddocNotInfo_GetOCSPResponse_Value(
const NotaryInfo* pNotary);
1134int ddocNotInfo_SetOCSPResponse_Value(
NotaryInfo* pNotary, OCSP_RESPONSE* pResp);
1141EXP_OPTION
const char* ddocNotInfo_GetResponderId_Type(
const NotaryInfo* pNotary);
1157int ddocNotInfo_GetProducedAt_timet(
const NotaryInfo* pNotary, time_t* pTime);
1165int ddocNotInfo_GetProducedAtXml_timet(
const NotaryInfo* pNotary, time_t* pTime);
1173int ddocNotInfo_GetThisUpdate_timet(
const NotaryInfo* pNotary, time_t* pTime);
1221int ddocNotInfo_SetOcspDigest(
NotaryInfo* pNotary,
const char* data,
long len);
1237 const char* keyfile,
const char* passwd,
const char* certfile);
1257EXP_OPTION
int calculateSignedInfoDigest(
SignedDoc* pSigDoc,
SignatureInfo* pSigInfo,
byte* digBuf,
int* digLen);
1264DIGIDOC_DEPRECATED EXP_OPTION
int verifiedByWrongDataFileHash(
const SignatureInfo* pSigInfo);
1271EXP_OPTION
int hasSignatureWithWrongDataFileHash(
const SignedDoc* pSigDoc);
1282 const char* szPkcs12File,
const char* passwd);
Definition DigiDocObj.h:87
Definition DigiDocObj.h:97
Definition DigiDocObj.h:110
Definition DigiDocObj.h:116
Definition DigiDocObj.h:122
Definition DigiDocObj.h:61
Definition DigiDocMem.h:32
Definition DigiDocObj.h:38
Definition DigiDocObj.h:139
Definition DigiDocObj.h:154
Definition DigiDocObj.h:47
Definition DigiDocObj.h:73
Definition DigiDocObj.h:177
Definition DigiDocObj.h:54