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