Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Side by Side Diff: nss/lib/libpkix/include/pkixt.h

Issue 2078763002: Delete bundled copy of NSS and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss@master
Patch Set: Delete bundled copy of NSS and replace with README. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « nss/lib/libpkix/include/pkix_util.h ('k') | nss/lib/libpkix/pkix/certsel/pkix_certselector.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 * This file defines the types in the libpkix API.
6 * XXX Maybe we should specify the API version number in all API header files
7 *
8 */
9
10 #ifndef _PKIXT_H
11 #define _PKIXT_H
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 #include "secerr.h"
18
19 /* Types
20 *
21 * This header file provides typedefs for the abstract types used by libpkix.
22 * It also provides several useful macros.
23 *
24 * Note that all these abstract types are typedef'd as opaque structures. This
25 * is intended to discourage the caller from looking at the contents directly,
26 * since the format of the contents may change from one version of the library
27 * to the next. Instead, callers should only access these types using the
28 * functions defined in the public header files.
29 *
30 * An instance of an abstract type defined in this file is called an "object"
31 * here, although C does not have real support for objects.
32 *
33 * Because C does not typically have automatic garbage collection, the caller
34 * is expected to release the reference to any object that they create or that
35 * is returned to them by a libpkix function. The caller should do this by
36 * using the PKIX_PL_Object_DecRef function. Note that the caller should not
37 * release the reference to an object if the object has been passed to a
38 * libpkix function and that function has not returned.
39 *
40 * Please refer to libpkix Programmer's Guide for more details.
41 */
42
43 /* Version
44 *
45 * These macros specify the major and minor version of the libpkix API defined
46 * by this header file.
47 */
48
49 #define PKIX_MAJOR_VERSION ((PKIX_UInt32) 0)
50 #define PKIX_MINOR_VERSION ((PKIX_UInt32) 3)
51
52 /* Maximum minor version
53 *
54 * This macro is used to specify that the caller wants the largest minor
55 * version available.
56 */
57
58 #define PKIX_MAX_MINOR_VERSION ((PKIX_UInt32) 4000000000)
59
60 /* Define Cert Store type for database access */
61 #define PKIX_STORE_TYPE_NONE 0
62 #define PKIX_STORE_TYPE_PK11 1
63
64 /* Portable Code (PC) data types
65 *
66 * These types are used to perform the primary operations of this library:
67 * building and validating chains of X.509 certificates.
68 */
69
70 typedef struct PKIX_ErrorStruct PKIX_Error;
71 typedef struct PKIX_ProcessingParamsStruct PKIX_ProcessingParams;
72 typedef struct PKIX_ValidateParamsStruct PKIX_ValidateParams;
73 typedef struct PKIX_ValidateResultStruct PKIX_ValidateResult;
74 typedef struct PKIX_ResourceLimitsStruct PKIX_ResourceLimits;
75 typedef struct PKIX_BuildResultStruct PKIX_BuildResult;
76 typedef struct PKIX_CertStoreStruct PKIX_CertStore;
77 typedef struct PKIX_CertChainCheckerStruct PKIX_CertChainChecker;
78 typedef struct PKIX_RevocationCheckerStruct PKIX_RevocationChecker;
79 typedef struct PKIX_CertSelectorStruct PKIX_CertSelector;
80 typedef struct PKIX_CRLSelectorStruct PKIX_CRLSelector;
81 typedef struct PKIX_ComCertSelParamsStruct PKIX_ComCertSelParams;
82 typedef struct PKIX_ComCRLSelParamsStruct PKIX_ComCRLSelParams;
83 typedef struct PKIX_TrustAnchorStruct PKIX_TrustAnchor;
84 typedef struct PKIX_PolicyNodeStruct PKIX_PolicyNode;
85 typedef struct PKIX_LoggerStruct PKIX_Logger;
86 typedef struct PKIX_ListStruct PKIX_List;
87 typedef struct PKIX_ForwardBuilderStateStruct PKIX_ForwardBuilderState;
88 typedef struct PKIX_DefaultRevocationCheckerStruct
89 PKIX_DefaultRevocationChecker;
90 typedef struct PKIX_VerifyNodeStruct PKIX_VerifyNode;
91
92 /* Portability Layer (PL) data types
93 *
94 * These types are used are used as portable data types that are defined
95 * consistently across platforms
96 */
97
98 typedef struct PKIX_PL_NssContextStruct PKIX_PL_NssContext;
99 typedef struct PKIX_PL_ObjectStruct PKIX_PL_Object;
100 typedef struct PKIX_PL_ByteArrayStruct PKIX_PL_ByteArray;
101 typedef struct PKIX_PL_HashTableStruct PKIX_PL_HashTable;
102 typedef struct PKIX_PL_MutexStruct PKIX_PL_Mutex;
103 typedef struct PKIX_PL_RWLockStruct PKIX_PL_RWLock;
104 typedef struct PKIX_PL_MonitorLockStruct PKIX_PL_MonitorLock;
105 typedef struct PKIX_PL_BigIntStruct PKIX_PL_BigInt;
106 typedef struct PKIX_PL_StringStruct PKIX_PL_String;
107 typedef struct PKIX_PL_OIDStruct PKIX_PL_OID;
108 typedef struct PKIX_PL_CertStruct PKIX_PL_Cert;
109 typedef struct PKIX_PL_GeneralNameStruct PKIX_PL_GeneralName;
110 typedef struct PKIX_PL_X500NameStruct PKIX_PL_X500Name;
111 typedef struct PKIX_PL_PublicKeyStruct PKIX_PL_PublicKey;
112 typedef struct PKIX_PL_DateStruct PKIX_PL_Date;
113 typedef struct PKIX_PL_CertNameConstraintsStruct PKIX_PL_CertNameConstraints;
114 typedef struct PKIX_PL_CertBasicConstraintsStruct PKIX_PL_CertBasicConstraints;
115 typedef struct PKIX_PL_CertPoliciesStruct PKIX_PL_CertPolicies;
116 typedef struct PKIX_PL_CertPolicyInfoStruct PKIX_PL_CertPolicyInfo;
117 typedef struct PKIX_PL_CertPolicyQualifierStruct PKIX_PL_CertPolicyQualifier;
118 typedef struct PKIX_PL_CertPolicyMapStruct PKIX_PL_CertPolicyMap;
119 typedef struct PKIX_PL_CRLStruct PKIX_PL_CRL;
120 typedef struct PKIX_PL_CRLEntryStruct PKIX_PL_CRLEntry;
121 typedef struct PKIX_PL_CollectionCertStoreStruct PKIX_PL_CollectionCertStore;
122 typedef struct PKIX_PL_CollectionCertStoreContext
123 PKIX_PL_CollectionCertStoreContext;
124 typedef struct PKIX_PL_LdapCertStoreContext PKIX_PL_LdapCertStoreContext;
125 typedef struct PKIX_PL_LdapRequestStruct PKIX_PL_LdapRequest;
126 typedef struct PKIX_PL_LdapResponseStruct PKIX_PL_LdapResponse;
127 typedef struct PKIX_PL_LdapDefaultClientStruct PKIX_PL_LdapDefaultClient;
128 typedef struct PKIX_PL_SocketStruct PKIX_PL_Socket;
129 typedef struct PKIX_PL_InfoAccessStruct PKIX_PL_InfoAccess;
130 typedef struct PKIX_PL_AIAMgrStruct PKIX_PL_AIAMgr;
131 typedef struct PKIX_PL_OcspCertIDStruct PKIX_PL_OcspCertID;
132 typedef struct PKIX_PL_OcspRequestStruct PKIX_PL_OcspRequest;
133 typedef struct PKIX_PL_OcspResponseStruct PKIX_PL_OcspResponse;
134 typedef struct PKIX_PL_HttpClientStruct PKIX_PL_HttpClient;
135 typedef struct PKIX_PL_HttpDefaultClientStruct PKIX_PL_HttpDefaultClient;
136 typedef struct PKIX_PL_HttpCertStoreContextStruct PKIX_PL_HttpCertStoreContext;
137
138 /* Primitive types
139 *
140 * In order to guarantee desired behavior as well as platform-independence, we
141 * typedef these types depending on the platform. XXX This needs more work!
142 */
143
144 /* XXX Try compiling these files (and maybe the whole libpkix-nss) on Win32.
145 * We don't know what type is at least 32 bits long. ISO C probably requires
146 * at least 32 bits for long. we could default to that and only list platforms
147 * where that's not true.
148 *
149 * #elif
150 * #error
151 * #endif
152 */
153
154 /* currently, int is 32 bits on all our supported platforms */
155
156 typedef unsigned int PKIX_UInt32;
157 typedef int PKIX_Int32;
158
159 typedef int PKIX_Boolean;
160
161 /* Object Types
162 *
163 * Every reference-counted PKIX_PL_Object is associated with an integer type.
164 */
165 #define PKIX_TYPES \
166 TYPEMACRO(AIAMGR), \
167 TYPEMACRO(BASICCONSTRAINTSCHECKERSTATE), \
168 TYPEMACRO(BIGINT), \
169 TYPEMACRO(BUILDRESULT), \
170 TYPEMACRO(BYTEARRAY), \
171 TYPEMACRO(CERT), \
172 TYPEMACRO(CERTBASICCONSTRAINTS), \
173 TYPEMACRO(CERTCHAINCHECKER), \
174 TYPEMACRO(CERTNAMECONSTRAINTS), \
175 TYPEMACRO(CERTNAMECONSTRAINTSCHECKERSTATE), \
176 TYPEMACRO(CERTPOLICYCHECKERSTATE), \
177 TYPEMACRO(CERTPOLICYINFO), \
178 TYPEMACRO(CERTPOLICYMAP), \
179 TYPEMACRO(CERTPOLICYNODE), \
180 TYPEMACRO(CERTPOLICYQUALIFIER), \
181 TYPEMACRO(CERTSELECTOR), \
182 TYPEMACRO(CERTSTORE), \
183 TYPEMACRO(COLLECTIONCERTSTORECONTEXT), \
184 TYPEMACRO(COMCERTSELPARAMS), \
185 TYPEMACRO(COMCRLSELPARAMS), \
186 TYPEMACRO(CRL), \
187 TYPEMACRO(CRLDP), \
188 TYPEMACRO(CRLENTRY), \
189 TYPEMACRO(CRLSELECTOR), \
190 TYPEMACRO(DATE), \
191 TYPEMACRO(CRLCHECKER), \
192 TYPEMACRO(EKUCHECKER), \
193 TYPEMACRO(ERROR), \
194 TYPEMACRO(FORWARDBUILDERSTATE), \
195 TYPEMACRO(GENERALNAME), \
196 TYPEMACRO(HASHTABLE), \
197 TYPEMACRO(HTTPCERTSTORECONTEXT), \
198 TYPEMACRO(HTTPDEFAULTCLIENT), \
199 TYPEMACRO(INFOACCESS), \
200 TYPEMACRO(LDAPDEFAULTCLIENT), \
201 TYPEMACRO(LDAPREQUEST), \
202 TYPEMACRO(LDAPRESPONSE), \
203 TYPEMACRO(LIST), \
204 TYPEMACRO(LOGGER), \
205 TYPEMACRO(MONITORLOCK), \
206 TYPEMACRO(MUTEX), \
207 TYPEMACRO(OBJECT), \
208 TYPEMACRO(OCSPCERTID), \
209 TYPEMACRO(OCSPCHECKER), \
210 TYPEMACRO(OCSPREQUEST), \
211 TYPEMACRO(OCSPRESPONSE), \
212 TYPEMACRO(OID), \
213 TYPEMACRO(REVOCATIONCHECKER), \
214 TYPEMACRO(PROCESSINGPARAMS), \
215 TYPEMACRO(PUBLICKEY), \
216 TYPEMACRO(RESOURCELIMITS), \
217 TYPEMACRO(RWLOCK), \
218 TYPEMACRO(SIGNATURECHECKERSTATE), \
219 TYPEMACRO(SOCKET), \
220 TYPEMACRO(STRING), \
221 TYPEMACRO(TARGETCERTCHECKERSTATE), \
222 TYPEMACRO(TRUSTANCHOR), \
223 TYPEMACRO(VALIDATEPARAMS), \
224 TYPEMACRO(VALIDATERESULT), \
225 TYPEMACRO(VERIFYNODE), \
226 TYPEMACRO(X500NAME)
227
228 #define TYPEMACRO(type) PKIX_ ## type ## _TYPE
229
230 typedef enum { /* Now invoke all those TYPEMACROs to assign the numbers */
231 PKIX_TYPES,
232 PKIX_NUMTYPES /* This gets PKIX_NUMTYPES defined as the total number */
233 } PKIX_TYPENUM;
234
235
236 #ifdef PKIX_USER_OBJECT_TYPE
237
238 /* User Define Object Types
239 *
240 * User may define their own object types offset from PKIX_USER_OBJECT_TYPE
241 */
242 #define PKIX_USER_OBJECT_TYPEBASE 1000
243
244 #endif /* PKIX_USER_OBJECT_TYPE */
245
246 /* Error Codes
247 *
248 * This list is used to define a set of PKIX_Error exception class numbers.
249 * ERRMACRO is redefined to produce a corresponding set of
250 * strings in the table "const char *PKIX_ERRORCLASSNAMES[PKIX_NUMERRORCLASSES]" in
251 * pkix_error.c. For example, since the fifth ERRMACRO entry is MUTEX, then
252 * PKIX_MUTEX_ERROR is defined in pkixt.h as 4, and PKIX_ERRORCLASSNAMES[4] is
253 * initialized in pkix_error.c with the value "MUTEX".
254 */
255 #define PKIX_ERRORCLASSES \
256 ERRMACRO(AIAMGR), \
257 ERRMACRO(BASICCONSTRAINTSCHECKERSTATE), \
258 ERRMACRO(BIGINT), \
259 ERRMACRO(BUILD), \
260 ERRMACRO(BUILDRESULT), \
261 ERRMACRO(BYTEARRAY), \
262 ERRMACRO(CERT), \
263 ERRMACRO(CERTBASICCONSTRAINTS), \
264 ERRMACRO(CERTCHAINCHECKER), \
265 ERRMACRO(CERTNAMECONSTRAINTS), \
266 ERRMACRO(CERTNAMECONSTRAINTSCHECKERSTATE), \
267 ERRMACRO(CERTPOLICYCHECKERSTATE), \
268 ERRMACRO(CERTPOLICYINFO), \
269 ERRMACRO(CERTPOLICYMAP), \
270 ERRMACRO(CERTPOLICYNODE), \
271 ERRMACRO(CERTPOLICYQUALIFIER), \
272 ERRMACRO(CERTSELECTOR), \
273 ERRMACRO(CERTSTORE), \
274 ERRMACRO(CERTVFYPKIX), \
275 ERRMACRO(COLLECTIONCERTSTORECONTEXT), \
276 ERRMACRO(COMCERTSELPARAMS), \
277 ERRMACRO(COMCRLSELPARAMS), \
278 ERRMACRO(CONTEXT), \
279 ERRMACRO(CRL), \
280 ERRMACRO(CRLDP), \
281 ERRMACRO(CRLENTRY), \
282 ERRMACRO(CRLSELECTOR), \
283 ERRMACRO(CRLCHECKER), \
284 ERRMACRO(DATE), \
285 ERRMACRO(EKUCHECKER), \
286 ERRMACRO(ERROR), \
287 ERRMACRO(FATAL), \
288 ERRMACRO(FORWARDBUILDERSTATE), \
289 ERRMACRO(GENERALNAME), \
290 ERRMACRO(HASHTABLE), \
291 ERRMACRO(HTTPCERTSTORECONTEXT), \
292 ERRMACRO(HTTPDEFAULTCLIENT), \
293 ERRMACRO(INFOACCESS), \
294 ERRMACRO(LDAPCLIENT), \
295 ERRMACRO(LDAPDEFAULTCLIENT), \
296 ERRMACRO(LDAPREQUEST), \
297 ERRMACRO(LDAPRESPONSE), \
298 ERRMACRO(LIFECYCLE), \
299 ERRMACRO(LIST), \
300 ERRMACRO(LOGGER), \
301 ERRMACRO(MEM), \
302 ERRMACRO(MONITORLOCK), \
303 ERRMACRO(MUTEX), \
304 ERRMACRO(OBJECT), \
305 ERRMACRO(OCSPCERTID), \
306 ERRMACRO(OCSPCHECKER), \
307 ERRMACRO(OCSPREQUEST), \
308 ERRMACRO(OCSPRESPONSE), \
309 ERRMACRO(OID), \
310 ERRMACRO(PROCESSINGPARAMS), \
311 ERRMACRO(PUBLICKEY), \
312 ERRMACRO(RESOURCELIMITS), \
313 ERRMACRO(REVOCATIONMETHOD), \
314 ERRMACRO(REVOCATIONCHECKER), \
315 ERRMACRO(RWLOCK), \
316 ERRMACRO(SIGNATURECHECKERSTATE), \
317 ERRMACRO(SOCKET), \
318 ERRMACRO(STRING), \
319 ERRMACRO(TARGETCERTCHECKERSTATE), \
320 ERRMACRO(TRUSTANCHOR), \
321 ERRMACRO(USERDEFINEDMODULES), \
322 ERRMACRO(VALIDATE), \
323 ERRMACRO(VALIDATEPARAMS), \
324 ERRMACRO(VALIDATERESULT), \
325 ERRMACRO(VERIFYNODE), \
326 ERRMACRO(X500NAME)
327
328 #define ERRMACRO(type) PKIX_ ## type ## _ERROR
329
330 typedef enum { /* Now invoke all those ERRMACROs to assign the numbers */
331 PKIX_ERRORCLASSES,
332 PKIX_NUMERRORCLASSES /* This gets PKIX_NUMERRORCLASSES defined as the total number */
333 } PKIX_ERRORCLASS;
334
335 /* Now define error strings (for internationalization) */
336
337 #define PKIX_ERRORENTRY(name,desc,plerr) PKIX_ ## name
338
339 /* Define all the error numbers */
340 typedef enum {
341 #include "pkix_errorstrings.h"
342 , PKIX_NUMERRORCODES
343 } PKIX_ERRORCODE;
344
345 extern const char * const PKIX_ErrorText[];
346
347 /* String Formats
348 *
349 * These formats specify supported encoding formats for Strings.
350 */
351
352 #define PKIX_ESCASCII 0
353 #define PKIX_UTF8 1
354 #define PKIX_UTF16 2
355 #define PKIX_UTF8_NULL_TERM 3
356 #define PKIX_ESCASCII_DEBUG 4
357
358 /* Name Types
359 *
360 * These types specify supported formats for GeneralNames.
361 */
362
363 #define PKIX_OTHER_NAME 1
364 #define PKIX_RFC822_NAME 2
365 #define PKIX_DNS_NAME 3
366 #define PKIX_X400_ADDRESS 4
367 #define PKIX_DIRECTORY_NAME 5
368 #define PKIX_EDIPARTY_NAME 6
369 #define PKIX_URI_NAME 7
370 #define PKIX_IP_NAME 8
371 #define PKIX_OID_NAME 9
372
373 /* Key Usages
374 *
375 * These types specify supported Key Usages
376 */
377
378 #define PKIX_DIGITAL_SIGNATURE 0x001
379 #define PKIX_NON_REPUDIATION 0x002
380 #define PKIX_KEY_ENCIPHERMENT 0x004
381 #define PKIX_DATA_ENCIPHERMENT 0x008
382 #define PKIX_KEY_AGREEMENT 0x010
383 #define PKIX_KEY_CERT_SIGN 0x020
384 #define PKIX_CRL_SIGN 0x040
385 #define PKIX_ENCIPHER_ONLY 0x080
386 #define PKIX_DECIPHER_ONLY 0x100
387
388 /* Reason Flags
389 *
390 * These macros specify supported Reason Flags
391 */
392
393 #define PKIX_UNUSED 0x001
394 #define PKIX_KEY_COMPROMISE 0x002
395 #define PKIX_CA_COMPROMISE 0x004
396 #define PKIX_AFFILIATION_CHANGED 0x008
397 #define PKIX_SUPERSEDED 0x010
398 #define PKIX_CESSATION_OF_OPERATION 0x020
399 #define PKIX_CERTIFICATE_HOLD 0x040
400 #define PKIX_PRIVILEGE_WITHDRAWN 0x080
401 #define PKIX_AA_COMPROMISE 0x100
402
403 /* Boolean values
404 *
405 * These macros specify the Boolean values of TRUE and FALSE
406 * XXX Is it the case that any non-zero value is actually considered TRUE
407 * and this is just a convenient mnemonic macro?
408 */
409
410 #define PKIX_TRUE ((PKIX_Boolean) 1)
411 #define PKIX_FALSE ((PKIX_Boolean) 0)
412
413 /*
414 * Define constants for basic constraints selector
415 * (see comments in pkix_certsel.h)
416 */
417
418 #define PKIX_CERTSEL_ENDENTITY_MIN_PATHLENGTH (-2)
419 #define PKIX_CERTSEL_ALL_MATCH_MIN_PATHLENGTH (-1)
420
421 /*
422 * PKIX_ALLOC_ERROR is a special error object hard-coded into the pkix_error.o
423 * object file. It is thrown if system memory cannot be allocated or may be
424 * thrown for other unrecoverable errors. PKIX_ALLOC_ERROR is immutable.
425 * IncRef, DecRef and all Settor functions cannot be called.
426 * XXX Does anyone actually need to know about this?
427 * XXX Why no DecRef? Would be good to handle it the same.
428 */
429
430 PKIX_Error* PKIX_ALLOC_ERROR(void);
431
432 /*
433 * In a CertBasicConstraints extension, if the CA flag is set,
434 * indicating the certificate refers to a Certification
435 * Authority, then the pathLen field indicates how many intermediate
436 * certificates (not counting self-signed ones) can exist in a valid
437 * chain following this certificate. If the pathLen has the value
438 * of this constant, then the length of the chain is unlimited
439 */
440 #define PKIX_UNLIMITED_PATH_CONSTRAINT ((PKIX_Int32) -1)
441
442 /*
443 * Define Certificate Extension hard-coded OID's
444 */
445 #define PKIX_UNKNOWN_OID SEC_OID_UNKNOWN
446 #define PKIX_CERTKEYUSAGE_OID SEC_OID_X509_KEY_USAGE
447 #define PKIX_CERTSUBJALTNAME_OID SEC_OID_X509_SUBJECT_ALT_NAME
448 #define PKIX_BASICCONSTRAINTS_OID SEC_OID_X509_BASIC_CONSTRAINTS
449 #define PKIX_CRLREASONCODE_OID SEC_OID_X509_REASON_CODE
450 #define PKIX_NAMECONSTRAINTS_OID SEC_OID_X509_NAME_CONSTRAINTS
451 #define PKIX_CERTIFICATEPOLICIES_OID SEC_OID_X509_CERTIFICATE_POLICIES
452 #define PKIX_CERTIFICATEPOLICIES_ANYPOLICY_OID SEC_OID_X509_ANY_POLICY
453 #define PKIX_POLICYMAPPINGS_OID SEC_OID_X509_POLICY_MAPPINGS
454 #define PKIX_POLICYCONSTRAINTS_OID SEC_OID_X509_POLICY_CONSTRAINTS
455 #define PKIX_EXTENDEDKEYUSAGE_OID SEC_OID_X509_EXT_KEY_USAGE
456 #define PKIX_INHIBITANYPOLICY_OID SEC_OID_X509_INHIBIT_ANY_POLICY
457 #define PKIX_NSCERTTYPE_OID SEC_OID_NS_CERT_EXT_CERT_TYPE
458 #define PKIX_KEY_USAGE_SERVER_AUTH_OID SEC_OID_EXT_KEY_USAGE_SERVER_AUTH
459 #define PKIX_KEY_USAGE_CLIENT_AUTH_OID SEC_OID_EXT_KEY_USAGE_CLIENT_AUTH
460 #define PKIX_KEY_USAGE_CODE_SIGN_OID SEC_OID_EXT_KEY_USAGE_CODE_SIGN
461 #define PKIX_KEY_USAGE_EMAIL_PROTECT_OID SEC_OID_EXT_KEY_USAGE_EMAIL_PROTE CT
462 #define PKIX_KEY_USAGE_TIME_STAMP_OID SEC_OID_EXT_KEY_USAGE_TIME_STAMP
463 #define PKIX_KEY_USAGE_OCSP_RESPONDER_OID SEC_OID_OCSP_RESPONDER
464
465
466 /* Available revocation method types. */
467 typedef enum PKIX_RevocationMethodTypeEnum {
468 PKIX_RevocationMethod_CRL = 0,
469 PKIX_RevocationMethod_OCSP,
470 PKIX_RevocationMethod_MAX
471 } PKIX_RevocationMethodType;
472
473 /* A set of statuses revocation checker operates on */
474 typedef enum PKIX_RevocationStatusEnum {
475 PKIX_RevStatus_NoInfo = 0,
476 PKIX_RevStatus_Revoked,
477 PKIX_RevStatus_Success
478 } PKIX_RevocationStatus;
479
480
481 #ifdef __cplusplus
482 }
483 #endif
484
485 #endif /* _PKIXT_H */
OLDNEW
« no previous file with comments | « nss/lib/libpkix/include/pkix_util.h ('k') | nss/lib/libpkix/pkix/certsel/pkix_certselector.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698