MYIdentity.h
author Jens Alfke <jens@mooseyard.com>
Tue Jul 21 10:13:08 2009 -0700 (2009-07-21)
changeset 27 d0aadddb9c64
parent 5 b2e360b78189
permissions -rw-r--r--
MYCertificate now checks validity of self-signed certs loaded from the keychain (because the Security framework doesn't validate self-signed certs.)
     1 //
     2 //  MYIdentity.h
     3 //  MYCrypto
     4 //
     5 //  Created by Jens Alfke on 4/9/09.
     6 //  Copyright 2009 Jens Alfke. All rights reserved.
     7 //
     8 
     9 #import "MYCertificate.h"
    10 @class MYPrivateKey;
    11 
    12 
    13 /** An Identity represents a certificate with an associated private key. */
    14 @interface MYIdentity : MYCertificate
    15 {
    16     @private
    17     SecIdentityRef _identityRef;
    18 }
    19 
    20 /** Creates a MYIdentity object for an existing Keychain identity reference. */
    21 + (MYIdentity*) identityWithIdentityRef: (SecIdentityRef)identityRef;
    22 
    23 /** The underlying SecIdentityRef. */
    24 @property (readonly) SecIdentityRef identityRef;
    25 
    26 /** The identity's associated private key. */
    27 @property (readonly) MYPrivateKey *privateKey;
    28 
    29 
    30 /** @name Mac-Only
    31  *  Functionality not available on iPhone. 
    32  */
    33 //@{
    34 #if !TARGET_OS_IPHONE
    35 
    36 /** Returns the identity that's been set as the preferred one for the given name, or nil. */
    37 + (MYIdentity*) preferredIdentityForName: (NSString*)name;
    38 
    39 /** Registers this identity as the preferred one for the given name,
    40     for later lookup using +preferredIdentityForName:. */
    41 - (BOOL) makePreferredIdentityForName: (NSString*)name;
    42 
    43 #endif
    44 //@}
    45 
    46 
    47 /** @name Expert
    48  *  Advanced methods. 
    49  */
    50 //@{
    51 
    52 /** Initializes a MYIdentity given an existing SecIdentityRef. */
    53 - (id) initWithIdentityRef: (SecIdentityRef)identityRef;
    54 
    55 //@}
    56 
    57 @end