| /* |
| * Copyright (c) 2000-2004 Apple Computer, Inc. All Rights Reserved. |
| * |
| * @APPLE_LICENSE_HEADER_START@ |
| * |
| * This file contains Original Code and/or Modifications of Original Code |
| * as defined in and that are subject to the Apple Public Source License |
| * Version 2.0 (the 'License'). You may not use this file except in |
| * compliance with the License. Please obtain a copy of the License at |
| * http://www.opensource.apple.com/apsl/ and read it before using this |
| * file. |
| * |
| * The 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. |
| * |
| * @APPLE_LICENSE_HEADER_END@ |
| * |
| * cssmapplePriv.h -- Private CSSM features specific to Apple's Implementation |
| */ |
| |
| #ifndef _CSSMAPPLE_PRIV_H_ |
| #define _CSSMAPPLE_PRIV_H_ 1 |
| |
| #include <Security/cssmtype.h> |
| #include <Security/cssmapple.h> |
| |
| // CSSM functions are deprecated as of OSX 10.7, but have no replacement. |
| // https://bugs.chromium.org/p/chromium/issues/detail?id=590914#c1 |
| #pragma clang diagnostic push |
| #pragma clang diagnostic ignored "-Wdeprecated-declarations" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* |
| * Options for X509TP's CSSM_TP_CertGroupVerify for policy |
| * CSSMOID_APPLE_TP_REVOCATION_OCSP. A pointer to, and length of, one |
| * of these is optionally placed in |
| * CSSM_TP_VERIFY_CONTEXT.Cred->Policy.PolicyIds[n].FieldValue. |
| */ |
| |
| #define CSSM_APPLE_TP_OCSP_OPTS_VERSION 0 |
| |
| typedef uint32 CSSM_APPLE_TP_OCSP_OPT_FLAGS; |
| enum { |
| // require OCSP verification for each cert; default is "try" |
| CSSM_TP_ACTION_OCSP_REQUIRE_PER_CERT = 0x00000001, |
| // require OCSP verification for certs which claim an OCSP responder |
| CSSM_TP_ACTION_OCSP_REQUIRE_IF_RESP_PRESENT = 0x00000002, |
| // disable network OCSP transactions |
| CSSM_TP_ACTION_OCSP_DISABLE_NET = 0x00000004, |
| // disable reads from local OCSP cache |
| CSSM_TP_ACTION_OCSP_CACHE_READ_DISABLE = 0x00000008, |
| // disable reads from local OCSP cache |
| CSSM_TP_ACTION_OCSP_CACHE_WRITE_DISABLE = 0x00000010, |
| // if set and positive OCSP verify for given cert, no further revocation |
| // checking need be done on that cert |
| CSSM_TP_ACTION_OCSP_SUFFICIENT = 0x00000020, |
| // generate nonce in OCSP request |
| CSSM_TP_OCSP_GEN_NONCE = 0x00000040, |
| // when generating nonce, require matching nonce in response |
| CSSM_TP_OCSP_REQUIRE_RESP_NONCE = 0x00000080 |
| }; |
| |
| typedef struct { |
| uint32 Version; |
| CSSM_APPLE_TP_OCSP_OPT_FLAGS Flags; |
| CSSM_DATA_PTR LocalResponder; /* URI */ |
| CSSM_DATA_PTR LocalResponderCert; /* X509 DER encoded cert */ |
| } CSSM_APPLE_TP_OCSP_OPTIONS; |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #pragma clang diagnostic pop // "-Wdeprecated-declarations" |
| |
| #endif /* _CSSMAPPLE_PRIV_H_ */ |