1/* 2 * Copyright (c) 2009 Apple Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24/*! 25 @header SecOCSPRequest 26 The functions and data types in SecOCSPRequest implement ocsp request 27 creation. 28*/ 29 30#ifndef _SECURITY_SECOCSPREQUEST_H_ 31#define _SECURITY_SECOCSPREQUEST_H_ 32 33#include <Security/SecAsn1Coder.h> 34#include <CoreFoundation/CFData.h> 35 36__BEGIN_DECLS 37 38/*! 39 @typedef SecOCSPRequestRef 40 @abstract Object used for ocsp response decoding. 41*/ 42typedef struct __SecOCSPRequest *SecOCSPRequestRef; 43 44struct __SecOCSPRequest { 45 SecCertificateRef certificate; // Nonretained 46 SecCertificateRef issuer; // Nonretained 47 CFDataRef der; 48}; 49 50/*! 51 @function SecOCSPRequestCreate 52 @abstract Returns a SecOCSPRequestRef from a BER encoded ocsp response. 53 @param certificate The certificate for which we want a OCSP request created. 54 @param issuer The parent of certificate. 55 @result A SecOCSPRequestRef. 56*/ 57SecOCSPRequestRef SecOCSPRequestCreate(SecCertificateRef certificate, 58 SecCertificateRef issuer); 59 60/*! 61 @function SecOCSPRequestCopyDER 62 @abstract Returns a DER encoded ocsp request. 63 @param ocspRequest A SecOCSPRequestRef. 64 @result DER encoded ocsp request. 65*/ 66CFDataRef SecOCSPRequestGetDER(SecOCSPRequestRef ocspRequest); 67 68/*! 69 @function SecOCSPRequestFinalize 70 @abstract Frees a SecOCSPRequestRef. 71 @param ocspRequest A SecOCSPRequestRef. 72 @result The passed in SecOCSPRequestRef is deallocated 73*/ 74void SecOCSPRequestFinalize(SecOCSPRequestRef ocspRequest); 75 76__END_DECLS 77 78#endif /* !_SECURITY_SECOCSPREQUEST_H_ */ 79