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