]>
git.saurik.com Git - apple/security.git/blob - libsecurity_ssl/lib/sslKeychain.h
   2  * Copyright (c) 1999-2001,2005-2007,2010-2012 Apple Inc. All Rights Reserved. 
   4  * @APPLE_LICENSE_HEADER_START@ 
   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 
  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. 
  21  * @APPLE_LICENSE_HEADER_END@ 
  25  * sslKeychain.h - Apple Keychain routines 
  28 #ifndef _SSL_KEYCHAIN_H_ 
  29 #define _SSL_KEYCHAIN_H_ 
  32 #include "sslContext.h" 
  38 #ifdef USE_SSLCERTIFICATE 
  40  * Given an array of certs (as KCItemRefs) and a destination 
  43  * -- free destCerts if we have any 
  44  * -- Get raw cert data, convert to array of SSLCertificates in *destCert 
  45  * -- get pub, priv keys from certRef[0], store in *pubKey, *privKey 
  46  * -- validate cert chain 
  53         SSLCertificate  
**destCert
,             /* &ctx->{localCert,encryptCert} */ 
  54         SSLPubKey       
**pubKey
,               /* &ctx->signingPubKey, etc. */ 
  55         SecKeyRef               
*privKeyRef
,    /* &ctx->signingPrivKeyRef, etc. */ 
  56         CSSM_ALGORITHMS 
*signerAlg
);    /* optionally returned */ 
  63         CFArrayRef                      
*destCertChain
, /* &ctx->{localCertChain,encryptCertChain} */ 
  64         SSLPubKey                       
**pubKey
,               /* &ctx->signingPubKey, etc. */ 
  65         SSLPrivKey                      
**privKeyRef
,   /* &ctx->signingPrivKeyRef, etc. */ 
  66         CFIndex                 
*signerAlg
);            /* optional */ 
  74 #endif  /* _SSL_KEYCHAIN_H_ */