]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_apple_x509_tp/lib/tpCrlVerify.h
Security-57031.1.35.tar.gz
[apple/security.git] / libsecurity_apple_x509_tp / lib / tpCrlVerify.h
diff --git a/libsecurity_apple_x509_tp/lib/tpCrlVerify.h b/libsecurity_apple_x509_tp/lib/tpCrlVerify.h
deleted file mode 100644 (file)
index e05e19f..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (c) 2000-2001 Apple Computer, Inc. All Rights Reserved.
- * 
- * The contents of this file constitute Original Code as defined in and are
- * subject to the Apple Public Source License Version 1.2 (the 'License').
- * You may not use this file except in compliance with the License. Please obtain
- * a copy of the License at http://www.apple.com/publicsource and read it before
- * using this file.
- * 
- * This Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
- * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
- * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
- * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
- * specific language governing rights and limitations under the License.
- */
-
-
-/*
- * tpCrlVerify.h - routines to verify CRLs and to verify certs against CRLs.
- *
- * Written 9/26/02 by Doug Mitchell.
- */
-#ifndef        _TP_CRL_VERIFY_H_
-#define _TP_CRL_VERIFY_H_
-
-#include <Security/cssmtype.h>
-#include <security_utilities/alloc.h>
-#include <Security/cssmapple.h>
-#include <Security/cssmapplePriv.h>
-
-class TPCertInfo;
-class TPCertGroup;
-class TPCrlInfo;
-class TPCrlGroup;
-
-/*
- * Enumerated CRL policies enforced by this module.
- */
-typedef enum {
-       kRevokeNone,                    /* no revocation checking */
-       kRevokeCrlBasic,
-       kRevokeOcsp     
-} TPRevocationPolicy;
-
-/* Module-specific default policy */
-#define TP_CRL_POLICY_DEFAULT  kRevokeNone
-
-/*
- * Various parameters widely used in any operation involving CRL and 
- * OCSP verification. Most fields are optional.
- */
-class TPVerifyContext {
-       NOCOPY(TPVerifyContext)
-public:
-       TPVerifyContext(
-               Allocator                       &_alloc,
-               CSSM_CL_HANDLE          _clHand,
-               CSSM_CSP_HANDLE         _cspHand,
-               CSSM_TIMESTRING         _verifyTime,
-               uint32                          _numAnchorCerts,
-               const CSSM_DATA         *_anchorCerts,
-               TPCertGroup                     *_signerCerts,
-               TPCrlGroup                      *_inputCrls,
-               TPCertGroup                     &_gatheredCerts,
-               CSSM_DL_DB_LIST_PTR     _dbList,
-               TPRevocationPolicy      _policy,
-               CSSM_APPLE_TP_ACTION_FLAGS      _actionFlags,
-               CSSM_APPLE_TP_CRL_OPTIONS       *_crlOpts,
-               CSSM_APPLE_TP_OCSP_OPTIONS      *_ocspOpts,
-               const CSSM_OID          *_policyOid,
-               const char                      *_policyStr,
-               uint32                          _policyStrLen,
-               CSSM_KEYUSE                     _keyUse)
-                       : alloc(_alloc),
-                               clHand(_clHand),
-                               cspHand(_cspHand),
-                               verifyTime(_verifyTime),
-                               numAnchorCerts(_numAnchorCerts),
-                               anchorCerts(_anchorCerts),
-                               signerCerts(_signerCerts),
-                               inputCrls(_inputCrls),
-                               gatheredCerts(_gatheredCerts),
-                               dbList(_dbList),
-                               policy(_policy),
-                               actionFlags(_actionFlags),
-                               crlOpts(_crlOpts),
-                               ocspOpts(_ocspOpts),
-                               policyOid(_policyOid),
-                               policyStr(_policyStr),
-                               policyStrLen(_policyStrLen),
-                               keyUse(_keyUse)
-                                       { }
-       
-       ~TPVerifyContext() { }
-       
-       Allocator                                               &alloc;
-       CSSM_CL_HANDLE                                  clHand;
-       CSSM_CSP_HANDLE                                 cspHand;
-       
-       /* 
-        * NULL means "verify for this momemt", otherwise indicates 
-        * time at which an entity is to be verified.
-        */
-    CSSM_TIMESTRING                            verifyTime;
-       
-       /* trusted anchors */
-       /* FIXME - maybe this should be a TPCertGroup */
-    uint32                                                     numAnchorCerts;
-       const CSSM_DATA                                 *anchorCerts;
-       
-       /* 
-        * Intermediate signing certs. Always present.
-        * This could come from the raw cert group to be verified
-        * in CertGroupVerify(), or the explicit SignerCertGroup in
-        * CrlVerify(). IN both cases the cert group owns the certs and 
-        * eventually frees them. These certs have not been verified in any 
-        * way other than to ensure that they parse and have been cached
-        * by the CL.
-        */
-       TPCertGroup                                             *signerCerts;
-
-       /* Raw CRLs provided by caller, state unknown, optional */
-       TPCrlGroup                                              *inputCrls;
-       
-       /*
-        * Other certificates gathered during the course of this operation,
-        * currently consisting of certs fetched from DBs and from the net.
-        * This is currently set to AppleTPSession::CertGroupVerify's
-        * certsToBeFreed, to include certs fetched from the net (a
-        * significant optimization) and from DLDB (a side effect, also
-        * a slight optimization).
-        */
-       TPCertGroup                                             &gatheredCerts;
-       
-       /* can contain certs and/or CRLs */
-    CSSM_DL_DB_LIST_PTR                        dbList;
-       
-       TPRevocationPolicy                              policy;
-       CSSM_APPLE_TP_ACTION_FLAGS              actionFlags;
-       
-       /* one of these valid, depends on policy */
-       const CSSM_APPLE_TP_CRL_OPTIONS *crlOpts;
-       const CSSM_APPLE_TP_OCSP_OPTIONS *ocspOpts;
-       
-       /* optional user trust parameters */
-       const CSSM_OID                                  *policyOid;
-       const char                                              *policyStr;
-       uint32                                                  policyStrLen;
-       CSSM_KEYUSE                                             keyUse;
-};
-
-extern "C" {
-
-/* CRL - specific */
-CSSM_RETURN tpVerifyCertGroupWithCrls(
-       TPVerifyContext                                 &tpVerifyContext,
-       TPCertGroup                                     &certGroup);            // to be verified 
-       
-/* general purpose, switch to policy-specific code based on TPVerifyContext.policy */
-CSSM_RETURN tpRevocationPolicyVerify(
-       TPVerifyContext                                 &tpVerifyContext,
-       TPCertGroup                                     &certGroup);            // to be verified 
-
-}
-
-#endif /* _TP_CRL_VERIFY_H_ */