PageRenderTime 15ms CodeModel.GetById 1ms app.highlight 10ms RepoModel.GetById 1ms app.codeStats 0ms

/security/nss/lib/libpkix/pkix/checker/pkix_revocationmethod.h

http://github.com/zpao/v8monkey
C Header | 113 lines | 50 code | 12 blank | 51 comment | 0 complexity | 5fd0e1f8ac74a59fc7e977ff011dcb0a MD5 | raw file
  1/* ***** BEGIN LICENSE BLOCK *****
  2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3 *
  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/
  8 *
  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
 12 * License.
 13 *
 14 * The Original Code is the PKIX-C library.
 15 *
 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.
 20 *
 21 * Contributor(s):
 22 *   Sun Microsystems, Inc.
 23 *
 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.
 35 *
 36 * ***** END LICENSE BLOCK ***** */
 37/*
 38 * pkix_revocationmethod.h
 39 *
 40 * RevocationMethod Object
 41 *
 42 */
 43
 44#ifndef _PKIX_REVOCATIONMETHOD_H
 45#define _PKIX_REVOCATIONMETHOD_H
 46
 47#include "pkixt.h"
 48#include "pkix_revocationchecker.h"
 49
 50#ifdef __cplusplus
 51extern "C" {
 52#endif
 53
 54typedef struct pkix_RevocationMethodStruct pkix_RevocationMethod;
 55
 56/* Local revocation check function prototype definition.
 57 * Revocation methods capable of checking revocation though local
 58 * means(cache) should implement this prototype. */
 59typedef PKIX_Error *
 60pkix_LocalRevocationCheckFn(PKIX_PL_Cert *cert, PKIX_PL_Cert *issuer,
 61                            PKIX_PL_Date *date, 
 62                            pkix_RevocationMethod *checkerObject,
 63                            PKIX_ProcessingParams *procParams,
 64                            PKIX_UInt32 methodFlags,
 65                            PKIX_Boolean chainVerificationState,
 66                            PKIX_RevocationStatus *pRevStatus,
 67                            PKIX_UInt32 *reasonCode,
 68                            void *plContext);
 69
 70/* External revocation check function prototype definition.
 71 * Revocation methods that required external communications(crldp
 72 * ocsp) shoult implement this prototype. */
 73typedef PKIX_Error *
 74pkix_ExternalRevocationCheckFn(PKIX_PL_Cert *cert, PKIX_PL_Cert *issuer,
 75                               PKIX_PL_Date *date,
 76                               pkix_RevocationMethod *checkerObject,
 77                               PKIX_ProcessingParams *procParams,
 78                               PKIX_UInt32 methodFlags,
 79                               PKIX_RevocationStatus *pRevStatus,
 80                               PKIX_UInt32 *reasonCode,
 81                               void **pNBIOContext, void *plContext);
 82
 83/* Revocation method structure assosiates revocation types with
 84 * a set of flags on the method, a priority of the method, and
 85 * method local/external checker functions. */
 86struct pkix_RevocationMethodStruct {
 87    PKIX_RevocationMethodType methodType;
 88    PKIX_UInt32 flags;
 89    PKIX_UInt32 priority;
 90    pkix_LocalRevocationCheckFn (*localRevChecker);
 91    pkix_ExternalRevocationCheckFn (*externalRevChecker);
 92};
 93
 94PKIX_Error *
 95pkix_RevocationMethod_Duplicate(PKIX_PL_Object *object,
 96                                PKIX_PL_Object *newObject,
 97                                void *plContext);
 98
 99PKIX_Error *
100pkix_RevocationMethod_Init(pkix_RevocationMethod *method,
101                           PKIX_RevocationMethodType methodType,
102                           PKIX_UInt32 flags,
103                           PKIX_UInt32 priority,
104                           pkix_LocalRevocationCheckFn localRevChecker,
105                           pkix_ExternalRevocationCheckFn externalRevChecker,
106                           void *plContext);
107
108
109#ifdef __cplusplus
110}
111#endif
112
113#endif /* _PKIX_REVOCATIONMETHOD_H */