|
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_ekuchecker.h |
|
6 * |
|
7 * User Defined Object Type Extended Key Usage Definition |
|
8 * |
|
9 */ |
|
10 |
|
11 #ifndef _PKIX_EKUCHECKER_H |
|
12 #define _PKIX_EKUCHECKER_H |
|
13 |
|
14 #include "pkix_pl_common.h" |
|
15 |
|
16 #ifdef __cplusplus |
|
17 extern "C" { |
|
18 #endif |
|
19 |
|
20 /* |
|
21 * FUNCTION: PKIX_PL_EkuChecker_Create |
|
22 * |
|
23 * DESCRIPTION: |
|
24 * Create a CertChainChecker with EkuCheckerState and add it into |
|
25 * PKIX_ProcessingParams object. |
|
26 * |
|
27 * PARAMETERS |
|
28 * "params" |
|
29 * a PKIX_ProcessingParams links to PKIX_ComCertSelParams where a list of |
|
30 * Extended Key Usage OIDs specified by application can be retrieved for |
|
31 * verification. |
|
32 * "ekuChecker" |
|
33 * Address of created ekuchecker. |
|
34 * "plContext" |
|
35 * Platform-specific context pointer. |
|
36 * |
|
37 * THREAD SAFETY: |
|
38 * Thread Safe (see Thread Safety Definitions in Programmer's Guide) |
|
39 * |
|
40 * RETURNS: |
|
41 * Returns NULL if the function succeeds. |
|
42 * Returns a UserDefinedModules Error if the function fails in a non-fatal |
|
43 * way. |
|
44 * Returns a Fatal Error |
|
45 */ |
|
46 PKIX_Error * |
|
47 PKIX_EkuChecker_Create( |
|
48 PKIX_ProcessingParams *params, |
|
49 PKIX_CertChainChecker **ekuChecker, |
|
50 void *plContext); |
|
51 |
|
52 /* |
|
53 * FUNCTION: PKIX_PL_EkuChecker_GetRequiredEku |
|
54 * |
|
55 * DESCRIPTION: |
|
56 * This function retrieves application specified ExtenedKeyUsage(s) from |
|
57 * ComCertSetparams and converts its OID representations to SECCertUsageEnum. |
|
58 * The result is stored and returned in bit mask at "pRequiredExtKeyUsage". |
|
59 * |
|
60 * PARAMETERS |
|
61 * "certSelector" |
|
62 * a PKIX_CertSelector links to PKIX_ComCertSelParams where a list of |
|
63 * Extended Key Usage OIDs specified by application can be retrieved for |
|
64 * verification. Must be non-NULL. |
|
65 * "pRequiredExtKeyUsage" |
|
66 * Address where the result is returned. Must be non-NULL. |
|
67 * "plContext" |
|
68 * Platform-specific context pointer. |
|
69 * |
|
70 * THREAD SAFETY: |
|
71 * Thread Safe (see Thread Safety Definitions in Programmer's Guide) |
|
72 * |
|
73 * RETURNS: |
|
74 * Returns NULL if the function succeeds. |
|
75 * Returns a UserDefinedModules Error if the function fails in a non-fatal |
|
76 * way. |
|
77 * Returns a Fatal Error |
|
78 */ |
|
79 PKIX_Error * |
|
80 pkix_EkuChecker_GetRequiredEku( |
|
81 PKIX_CertSelector *certSelector, |
|
82 PKIX_UInt32 *pRequiredExtKeyUsage, |
|
83 void *plContext); |
|
84 |
|
85 /* see source file for function documentation */ |
|
86 PKIX_Error *pkix_EkuChecker_RegisterSelf(void *plContext); |
|
87 |
|
88 #ifdef __cplusplus |
|
89 } |
|
90 #endif |
|
91 |
|
92 #endif /* _PKIX_PL_EKUCHECKER_H */ |