tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

pkix_ekuchecker.h (2591B)


      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 */