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