blob: 29d0c4dcea933d8f6f3d364e76a3cce18b31da70 [file] [log] [blame]
/*
* 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_ */