1.1 --- a/MYCertificate-iPhone.m Sun Apr 12 22:02:20 2009 -0700
1.2 +++ b/MYCertificate-iPhone.m Sat Jun 06 15:36:35 2009 -0700
1.3 @@ -7,6 +7,7 @@
1.4 //
1.5
1.6 #import "MYCertificate.h"
1.7 +#import "MYCertificateInfo.h"
1.8 #import "MYCrypto_Private.h"
1.9
1.10 #if MYCRYPTO_USE_IPHONE_API
1.11 @@ -37,6 +38,12 @@
1.12 return self;
1.13 }
1.14
1.15 +- (void) dealloc
1.16 +{
1.17 + [_info release];
1.18 + [super dealloc];
1.19 +}
1.20 +
1.21
1.22 - (BOOL)isEqualToCertificate:(MYCertificate*)cert {
1.23 return [self isEqual: cert] || [self.certificateData isEqual: cert.certificateData];
1.24 @@ -69,6 +76,21 @@
1.25 return key;
1.26 }
1.27
1.28 +- (MYIdentity*) identity {
1.29 + return [self.keychain identityWithDigest: self.publicKey.publicKeyDigest];
1.30 +}
1.31 +
1.32 +
1.33 +- (MYCertificateInfo*) info {
1.34 + if (!_info) {
1.35 + NSError *error;
1.36 + _info = [[MYCertificateInfo alloc] initWithCertificateData: self.certificateData
1.37 + error: &error];
1.38 + if (!_info)
1.39 + Warn(@"Couldn't parse certificate %@: %@", self, error);
1.40 + }
1.41 + return _info;
1.42 +}
1.43
1.44 - (NSString*) commonName {
1.45 CFStringRef name = SecCertificateCopySubjectSummary(_certificateRef);