1
/* ***** BEGIN LICENSE BLOCK *****
2
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
4
* The contents of this file are subject to the Mozilla Public License Version
5
* 1.1 (the "License"); you may not use this file except in compliance with
6
* the License. You may obtain a copy of the License at
7
* http://www.mozilla.org/MPL/
9
* Software distributed under the License is distributed on an "AS IS" basis,
10
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
* for the specific language governing rights and limitations under the
14
* The Original Code is the PKIX-C library.
16
* The Initial Developer of the Original Code is
17
* Sun Microsystems, Inc.
18
* Portions created by the Initial Developer are
19
* Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
22
* Sun Microsystems, Inc.
24
* Alternatively, the contents of this file may be used under the terms of
25
* either the GNU General Public License Version 2 or later (the "GPL"), or
26
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
* in which case the provisions of the GPL or the LGPL are applicable instead
28
* of those above. If you wish to allow use of your version of this file only
29
* under the terms of either the GPL or the LGPL, and not to allow others to
30
* use your version of this file under the terms of the MPL, indicate your
31
* decision by deleting the provisions above and replace them with the notice
32
* and other provisions required by the GPL or the LGPL. If you do not delete
33
* the provisions above, a recipient may use your version of this file under
34
* the terms of any one of the MPL, the GPL or the LGPL.
36
* ***** END LICENSE BLOCK ***** */
38
* pkix_defaultcrlchecker.h
40
* Header file for default CRL function
44
#ifndef _PKIX_DEFAULTCRLCHECKER_H
45
#define _PKIX_DEFAULTCRLCHECKER_H
47
#include "pkix_tools.h"
53
typedef struct pkix_DefaultCRLCheckerState pkix_DefaultCRLCheckerState;
55
struct pkix_DefaultCRLCheckerState {
56
PKIX_List *certStores; /* list of CertStore */
57
PKIX_PL_Date *testDate;
58
PKIX_Boolean certHasValidCrl;
59
PKIX_Boolean nistCRLPolicyEnabled;
60
PKIX_Boolean prevCertCrlSign;
61
PKIX_PL_PublicKey *prevPublicKey; /* Subject PubKey of last cert */
62
PKIX_List *prevPublicKeyList; /* of PKIX_PL_PublicKey */
63
PKIX_UInt32 reasonCodeMask;
64
PKIX_UInt32 certsRemaining;
65
PKIX_PL_OID *crlReasonCodeOID;
67
PKIX_PL_X500Name *certIssuer;
68
PKIX_PL_BigInt *certSerialNumber;
69
PKIX_CRLSelector *crlSelector;
70
PKIX_UInt32 crlStoreIndex;
71
PKIX_UInt32 numCrlStores;
75
pkix_DefaultCRLChecker_Initialize(
76
PKIX_List *certStores,
77
PKIX_PL_Date *testDate,
78
PKIX_PL_PublicKey *trustedPubKey,
79
PKIX_UInt32 certsRemaining,
80
PKIX_Boolean nistCRLPolicyEnabled,
81
PKIX_CertChainChecker **pChecker,
85
pkix_DefaultCRLChecker_Check_Helper(
86
PKIX_CertChainChecker *checker,
88
PKIX_PL_PublicKey *prevPublicKey,
89
pkix_DefaultCRLCheckerState *state,
90
PKIX_List *unresolvedCriticalExtensions,
91
PKIX_Boolean useOnlyLocal,
96
pkix_DefaultCRLChecker_Check_SetSelector(
98
pkix_DefaultCRLCheckerState *state,
102
pkix_DefaultCRLCheckerState_RegisterSelf(void *plContext);
108
#endif /* _PKIX_DEFAULTCRLCHECKER_H */