OLD | NEW |
| (Empty) |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
4 /* | |
5 * pkix_pl_ocspresponse.h | |
6 * | |
7 * OcspResponse Object Definitions | |
8 * | |
9 */ | |
10 | |
11 #ifndef _PKIX_PL_OCSPRESPONSE_H | |
12 #define _PKIX_PL_OCSPRESPONSE_H | |
13 | |
14 #include "pkix_pl_common.h" | |
15 #include "pkix_pl_ocspcertid.h" | |
16 #include "hasht.h" | |
17 #include "cryptohi.h" | |
18 #include "ocspti.h" | |
19 #include "ocspi.h" | |
20 #include "plbase64.h" | |
21 | |
22 #ifdef __cplusplus | |
23 extern "C" { | |
24 #endif | |
25 | |
26 #define MAX_OCSP_RESPONSE_LEN (64*1024) | |
27 | |
28 struct PKIX_PL_OcspResponseStruct{ | |
29 PLArenaPool *arena; | |
30 const PKIX_PL_OcspRequest *request; | |
31 const SEC_HttpClientFcn *httpClient; | |
32 SEC_HTTP_SERVER_SESSION serverSession; | |
33 SEC_HTTP_REQUEST_SESSION sessionRequest; | |
34 PKIX_PL_VerifyCallback verifyFcn; | |
35 SECItem *encodedResponse; | |
36 CERTCertDBHandle *handle; | |
37 PRTime producedAt; | |
38 PKIX_PL_Date *producedAtDate; | |
39 PKIX_PL_Cert *pkixSignerCert; | |
40 CERTOCSPResponse *nssOCSPResponse; | |
41 CERTCertificate *signerCert; | |
42 }; | |
43 | |
44 /* see source file for function documentation */ | |
45 | |
46 PKIX_Error *pkix_pl_OcspResponse_RegisterSelf(void *plContext); | |
47 | |
48 PKIX_Error * | |
49 pkix_pl_OcspResponse_Create( | |
50 PKIX_PL_OcspRequest *request, | |
51 const char *httpMechanism, | |
52 void *responder, | |
53 PKIX_PL_VerifyCallback verifyFcn, | |
54 void **pNBIOContext, | |
55 PKIX_PL_OcspResponse **pResponse, | |
56 void *plContext); | |
57 | |
58 PKIX_Error * | |
59 pkix_pl_OcspResponse_Decode( | |
60 PKIX_PL_OcspResponse *response, | |
61 PKIX_Boolean *passed, | |
62 SECErrorCodes *pReturnCode, | |
63 void *plContext); | |
64 | |
65 PKIX_Error * | |
66 pkix_pl_OcspResponse_GetStatus( | |
67 PKIX_PL_OcspResponse *response, | |
68 PKIX_Boolean *passed, | |
69 SECErrorCodes *pReturnCode, | |
70 void *plContext); | |
71 | |
72 PKIX_Error * | |
73 pkix_pl_OcspResponse_VerifySignature( | |
74 PKIX_PL_OcspResponse *response, | |
75 PKIX_PL_Cert *cert, | |
76 PKIX_ProcessingParams *procParams, | |
77 PKIX_Boolean *pPassed, | |
78 void **pNBIOContext, | |
79 void *plContext); | |
80 | |
81 PKIX_Error * | |
82 pkix_pl_OcspResponse_GetStatusForCert( | |
83 PKIX_PL_OcspCertID *cid, | |
84 PKIX_PL_OcspResponse *response, | |
85 PKIX_Boolean allowCachingOfFailures, | |
86 PKIX_PL_Date *validity, | |
87 PKIX_Boolean *pPassed, | |
88 SECErrorCodes *pReturnCode, | |
89 void *plContext); | |
90 | |
91 PKIX_Error * | |
92 PKIX_PL_OcspResponse_UseBuildChain( | |
93 PKIX_PL_Cert *signerCert, | |
94 PKIX_PL_Date *producedAt, | |
95 PKIX_ProcessingParams *procParams, | |
96 void **pNBIOContext, | |
97 void **pState, | |
98 PKIX_BuildResult **pBuildResult, | |
99 PKIX_VerifyNode **pVerifyTree, | |
100 void *plContext); | |
101 | |
102 #ifdef __cplusplus | |
103 } | |
104 #endif | |
105 | |
106 #endif /* _PKIX_PL_OCSPRESPONSE_H */ | |
OLD | NEW |