MYCertificate-iPhone.m
changeset 22 058394513f33
parent 8 4c0eafa7b233
child 23 39fec79de6e8
     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);