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

http://github.com/zpao/v8monkey · C Header · 125 lines · 21 code · 8 blank · 96 comment · 0 complexity · 355a97996953dedd12972f566f5cc2c1 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_ekuchecker.h
  39. *
  40. * User Defined Object Type Extended Key Usage Definition
  41. *
  42. */
  43. #ifndef _PKIX_EKUCHECKER_H
  44. #define _PKIX_EKUCHECKER_H
  45. #include "pkix_pl_common.h"
  46. #ifdef __cplusplus
  47. extern "C" {
  48. #endif
  49. /*
  50. * FUNCTION: PKIX_PL_EkuChecker_Create
  51. *
  52. * DESCRIPTION:
  53. * Create a CertChainChecker with EkuCheckerState and add it into
  54. * PKIX_ProcessingParams object.
  55. *
  56. * PARAMETERS
  57. * "params"
  58. * a PKIX_ProcessingParams links to PKIX_ComCertSelParams where a list of
  59. * Extended Key Usage OIDs specified by application can be retrieved for
  60. * verification.
  61. * "ekuChecker"
  62. * Address of created ekuchecker.
  63. * "plContext"
  64. * Platform-specific context pointer.
  65. *
  66. * THREAD SAFETY:
  67. * Thread Safe (see Thread Safety Definitions in Programmer's Guide)
  68. *
  69. * RETURNS:
  70. * Returns NULL if the function succeeds.
  71. * Returns a UserDefinedModules Error if the function fails in a non-fatal
  72. * way.
  73. * Returns a Fatal Error
  74. */
  75. PKIX_Error *
  76. PKIX_EkuChecker_Create(
  77. PKIX_ProcessingParams *params,
  78. PKIX_CertChainChecker **ekuChecker,
  79. void *plContext);
  80. /*
  81. * FUNCTION: PKIX_PL_EkuChecker_GetRequiredEku
  82. *
  83. * DESCRIPTION:
  84. * This function retrieves application specified ExtenedKeyUsage(s) from
  85. * ComCertSetparams and converts its OID representations to SECCertUsageEnum.
  86. * The result is stored and returned in bit mask at "pRequiredExtKeyUsage".
  87. *
  88. * PARAMETERS
  89. * "certSelector"
  90. * a PKIX_CertSelector links to PKIX_ComCertSelParams where a list of
  91. * Extended Key Usage OIDs specified by application can be retrieved for
  92. * verification. Must be non-NULL.
  93. * "pRequiredExtKeyUsage"
  94. * Address where the result is returned. Must be non-NULL.
  95. * "plContext"
  96. * Platform-specific context pointer.
  97. *
  98. * THREAD SAFETY:
  99. * Thread Safe (see Thread Safety Definitions in Programmer's Guide)
  100. *
  101. * RETURNS:
  102. * Returns NULL if the function succeeds.
  103. * Returns a UserDefinedModules Error if the function fails in a non-fatal
  104. * way.
  105. * Returns a Fatal Error
  106. */
  107. PKIX_Error *
  108. pkix_EkuChecker_GetRequiredEku(
  109. PKIX_CertSelector *certSelector,
  110. PKIX_UInt32 *pRequiredExtKeyUsage,
  111. void *plContext);
  112. /* see source file for function documentation */
  113. PKIX_Error *pkix_EkuChecker_RegisterSelf(void *plContext);
  114. #ifdef __cplusplus
  115. }
  116. #endif
  117. #endif /* _PKIX_PL_EKUCHECKER_H */