1 2/* 3 * Copyright (c) 2001-2004 Apple Computer, Inc. All rights reserved. 4 * 5 * @APPLE_LICENSE_HEADER_START@ 6 * 7 * The contents of this file constitute Original Code as defined in and 8 * are subject to the Apple Public Source License Version 1.1 (the 9 * "License"). You may not use this file except in compliance with the 10 * License. Please obtain a copy of the License at 11 * http://www.apple.com/publicsource and read it before using this file. 12 * 13 * This 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 OR NON-INFRINGEMENT. Please see the 18 * License for the specific language governing rights and limitations 19 * under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24#ifndef __CRYPTO_CSSM_H__ 25#define __CRYPTO_CSSM_H__ 26 27/* 28 * Racoon module for verifying and signing certificates through Security 29 * Framework and CSSM 30 */ 31 32#include "vmbuf.h" 33#include <CoreFoundation/CoreFoundation.h> 34#include <Security/SecBase.h> 35 36 37extern int crypto_cssm_check_x509cert (cert_t *hostcert, cert_t *certchain, CFStringRef hostname, SecKeyRef *publicKeyRef); 38extern int crypto_cssm_verify_x509sign(SecKeyRef publicKeyRef, vchar_t *hash, vchar_t *signature, Boolean useSHA1); 39extern SecCertificateRef crypto_cssm_x509cert_CreateSecCertificateRef (vchar_t *cert); 40extern vchar_t* crypto_cssm_getsign(CFDataRef persistentCertRef, vchar_t* hash); 41extern vchar_t* crypto_cssm_get_x509cert(CFDataRef persistentCertRef, cert_status_t *certStatus); 42extern const char *GetSecurityErrorString(OSStatus err); 43extern CFDataRef crypto_cssm_CopySubjectSequence(SecCertificateRef certRef); 44 45#endif /* __CRYPTO_CSSM_H__ */ 46 47