michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: /* michael@0: * pkix_signaturechecker.h michael@0: * michael@0: * Header file for validate signature function michael@0: * michael@0: */ michael@0: michael@0: #ifndef _PKIX_SIGNATURECHECKER_H michael@0: #define _PKIX_SIGNATURECHECKER_H michael@0: michael@0: #include "pkix_tools.h" michael@0: michael@0: #ifdef __cplusplus michael@0: extern "C" { michael@0: #endif michael@0: michael@0: typedef struct pkix_SignatureCheckerState pkix_SignatureCheckerState; michael@0: michael@0: struct pkix_SignatureCheckerState { michael@0: PKIX_Boolean prevCertCertSign; michael@0: PKIX_UInt32 certsRemaining; michael@0: PKIX_PL_PublicKey *prevPublicKey; /* Subject PubKey of last cert */ michael@0: PKIX_List *prevPublicKeyList; /* of PKIX_PL_PublicKey */ michael@0: PKIX_PL_OID *keyUsageOID; michael@0: }; michael@0: michael@0: PKIX_Error * michael@0: pkix_SignatureChecker_Initialize( michael@0: PKIX_PL_PublicKey *trustedPubKey, michael@0: PKIX_UInt32 certsRemaining, michael@0: PKIX_CertChainChecker **pChecker, michael@0: void *plContext); michael@0: michael@0: PKIX_Error * michael@0: pkix_SignatureCheckerState_RegisterSelf(void *plContext); michael@0: michael@0: #ifdef __cplusplus michael@0: } michael@0: #endif michael@0: michael@0: #endif /* _PKIX_SIGNATURECHECKER_H */