diff -r 1dfe820d7ebe -r 3af1d1c0ceb5 MYKeychain-iPhone.m --- a/MYKeychain-iPhone.m Wed Apr 08 16:30:52 2009 -0700 +++ b/MYKeychain-iPhone.m Sun Apr 19 21:19:35 2009 -0700 @@ -8,6 +8,8 @@ #import "MYCrypto_Private.h" #import "MYDigest.h" +#import "MYIdentity.h" + #if MYCRYPTO_USE_IPHONE_API @@ -104,6 +106,13 @@ return [[[MYKeyEnumerator alloc] initWithQuery: query] autorelease]; } +- (NSEnumerator*) enumerateIdentities { + NSMutableDictionary *query = $mdict({(id)kSecClass, (id)kSecClassIdentity}, + {(id)kSecMatchLimit, (id)kSecMatchLimitAll}, + {(id)kSecReturnRef, $true}); + return [[[MYKeyEnumerator alloc] initWithQuery: query] autorelease]; +} + - (NSEnumerator*) enumerateSymmetricKeys { NSMutableDictionary *query = $mdict({(id)kSecClass, (id)kSecClassKey}, {(id)kSecAttrKeyClass, (id)kSecAttrKeyClassSymmetric}, @@ -161,7 +170,6 @@ } - @end @@ -218,6 +226,8 @@ next = [[[MYSymmetricKey alloc] initWithKeyRef: (SecKeyRef)found] autorelease]; } else if (_itemClass == kSecClassCertificate) { next = [[[MYCertificate alloc] initWithCertificateRef: (SecCertificateRef)found] autorelease]; + } else if (_itemClass == kSecClassIdentity) { + next = [[[MYIdentity alloc] initWithIdentityRef: (SecIdentityRef)found] autorelease]; } CFRelease(found); }