Guardtime KSI c SDK
signature_helper.h
Go to the documentation of this file.
1 /*
2  * Copyright 2013-2015 Guardtime, Inc.
3  *
4  * This file is part of the Guardtime client SDK.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License").
7  * You may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  * http://www.apache.org/licenses/LICENSE-2.0
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES, CONDITIONS, OR OTHER LICENSES OF ANY KIND, either
13  * express or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  * "Guardtime" and "KSI" are trademarks or registered trademarks of
16  * Guardtime, Inc., and no license to trademarks is granted; Guardtime
17  * reserves and retains all trademark rights.
18  */
19 
20 
21 #ifndef SIGNATURE_HELPER_H_
22 #define SIGNATURE_HELPER_H_
23 
24 #include "types.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
40 
51 
62  int KSI_Signature_verifyWithPolicy(KSI_Signature *sig, const KSI_DataHash *docHsh, KSI_uint64_t rootLevel,
63  const KSI_Policy *policy, KSI_VerificationContext *verificationContext);
64 
73  int KSI_Signature_verifyDocument(KSI_Signature *sig, KSI_CTX *ctx, const void *doc, size_t doc_len);
74 
91  int KSI_Signature_fromFileWithPolicy(KSI_CTX *ctx, const char *fileName, const KSI_Policy *policy, KSI_VerificationContext *context, KSI_Signature **sig);
92 
93 #define KSI_Signature_fromFile(ctx, fileName, sig) KSI_Signature_fromFileWithPolicy(ctx, fileName, KSI_VERIFICATION_POLICY_INTERNAL, NULL, sig)
94 
111  int KSI_Signature_signWithPolicy(KSI_CTX *ctx, KSI_DataHash *hsh, const KSI_Policy *policy, KSI_VerificationContext *context, KSI_Signature **signature);
112 
113 #define KSI_Signature_sign(ctx, hsh, signature) KSI_Signature_signWithPolicy(ctx, hsh, KSI_VERIFICATION_POLICY_INTERNAL, NULL, signature)
114 
115  KSI_FN_DEPRECATED(int KSI_Signature_create(KSI_CTX *ctx, KSI_DataHash *hsh, KSI_Signature **signature), Use #KSI_Signature_sign instead.);
116 
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif /* SIGNATURE_HELPER_H_ */
int KSI_Signature_verifyDocument(KSI_Signature *sig, KSI_CTX *ctx, const void *doc, size_t doc_len)
int KSI_Signature_getHashAlgorithm(const KSI_Signature *sig, KSI_HashAlgorithm *algo_id)
#define KSI_uint64_t
Definition: types_base.h:105
int KSI_Signature_createAggregated(KSI_CTX *ctx, KSI_DataHash *rootHash, uint64_t rootLevel, KSI_Signature **signature)
int KSI_Signature_createDataHasher(const KSI_Signature *sig, KSI_DataHasher **hsr)
#define KSI_Signature_sign(ctx, hsh, signature)
Definition: signature_helper.h:113
int KSI_Signature_fromFileWithPolicy(KSI_CTX *ctx, const char *fileName, const KSI_Policy *policy, KSI_VerificationContext *context, KSI_Signature **sig)
int KSI_Signature_verifyWithPolicy(KSI_Signature *sig, const KSI_DataHash *docHsh, KSI_uint64_t rootLevel, const KSI_Policy *policy, KSI_VerificationContext *verificationContext)
struct KSI_DataHash_st KSI_DataHash
Definition: hash.h:52
#define KSI_Signature_signAggregated(ctx, rootHash, rootLevel, signature)
Definition: signature.h:104
enum KSI_HashAlgorithm_en KSI_HashAlgorithm
#define KSI_FN_DEPRECATED(decl, comment)
Definition: common.h:50
int KSI_Signature_signWithPolicy(KSI_CTX *ctx, KSI_DataHash *hsh, const KSI_Policy *policy, KSI_VerificationContext *context, KSI_Signature **signature)
struct KSI_Signature_st KSI_Signature
Definition: types.h:67
Definition: policy.h:31
struct KSI_Policy_st KSI_Policy
Definition: types.h:70
struct KSI_CTX_st KSI_CTX
Definition: types_base.h:124
struct KSI_DataHasher_st KSI_DataHasher
Definition: hash.h:46
int KSI_Signature_create(KSI_CTX *ctx, KSI_DataHash *hsh, KSI_Signature **signature)