author | Jens Alfke <jens@mooseyard.com> |
Thu Jun 04 18:36:30 2009 -0700 (2009-06-04) | |
changeset 19 | f6c91b9da05b |
parent 5 | b2e360b78189 |
permissions | -rw-r--r-- |
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 |