1.1 --- a/MYKeychain-iPhone.m Tue Apr 07 10:56:58 2009 -0700
1.2 +++ b/MYKeychain-iPhone.m Thu Apr 09 21:36:21 2009 -0700
1.3 @@ -74,7 +74,7 @@
1.4 }
1.5
1.6
1.7 -- (MYKeyPair*) keyPairWithDigest: (MYSHA1Digest*)pubKeyDigest {
1.8 +- (MYPrivateKey*) privateKeyWithDigest: (MYSHA1Digest*)pubKeyDigest {
1.9 return [MYKeyEnumerator firstItemWithQuery:
1.10 $mdict({(id)kSecClass, (id)kSecClassKey},
1.11 {(id)kSecAttrKeyClass, (id)kSecAttrKeyClassPrivate},
1.12 @@ -82,7 +82,7 @@
1.13 {(id)kSecReturnRef, $true})];
1.14 }
1.15
1.16 -- (NSEnumerator*) enumerateKeyPairs {
1.17 +- (NSEnumerator*) enumeratePrivateKeys {
1.18 NSMutableDictionary *query = $mdict({(id)kSecClass, (id)kSecClassKey},
1.19 {(id)kSecAttrKeyClass, (id)kSecAttrKeyClassPrivate},
1.20 {(id)kSecMatchLimit, (id)kSecMatchLimitAll},
1.21 @@ -156,8 +156,8 @@
1.22 algorithm: algorithm inKeychain: self];
1.23 }
1.24
1.25 -- (MYKeyPair*) generateRSAKeyPairOfSize: (unsigned)keySize {
1.26 - return [MYKeyPair _generateRSAKeyPairOfSize: keySize inKeychain: self];
1.27 +- (MYPrivateKey*) generateRSAKeyPairOfSize: (unsigned)keySize {
1.28 + return [MYPrivateKey _generateRSAKeyPairOfSize: keySize inKeychain: self];
1.29 }
1.30
1.31
1.32 @@ -211,19 +211,7 @@
1.33 while (next==nil && _index < CFArrayGetCount(_results)) {
1.34 CFTypeRef found = CFArrayGetValueAtIndex(_results, _index++);
1.35 if (_itemClass == kSecAttrKeyClassPrivate) {
1.36 - MYSHA1Digest *digest = [MYPublicKey _digestOfKey: (SecKeyRef)found];
1.37 - if (digest) {
1.38 - MYPublicKey *publicKey = [[MYKeychain defaultKeychain] publicKeyWithDigest: digest];
1.39 - if (publicKey)
1.40 - next = [[[MYKeyPair alloc] initWithPublicKeyRef: publicKey.keyRef
1.41 - privateKeyRef: (SecKeyRef)found]
1.42 - autorelease];
1.43 - else {
1.44 - // The matching public key won't turn up if it's embedded in a certificate;
1.45 - // I'd have to search for certs if I wanted to look that up. Skip it for now.
1.46 - //Warn(@"Couldn't find matching public key for private key!");
1.47 - }
1.48 - }
1.49 + next = [[MYPrivateKey alloc] initWithKeyRef: (SecKeyRef)found];
1.50 } else if (_itemClass == kSecAttrKeyClassPublic) {
1.51 next = [[[MYPublicKey alloc] initWithKeyRef: (SecKeyRef)found] autorelease];
1.52 } else if (_itemClass == kSecAttrKeyClassSymmetric) {