]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_keychain/regressions/kc-26-key-import-public.m
Security-58286.260.20.tar.gz
[apple/security.git] / OSX / libsecurity_keychain / regressions / kc-26-key-import-public.m
index 49b3c6c89629e031621017ac91b3ae80d3cc4c87..00ba7f7de7ee76669837f07d8b189f8dfbabbb3b 100644 (file)
  * @APPLE_LICENSE_HEADER_END@
  */
 
+#include <libDER/asn1Types.h>
+#include <libDER/DER_Encode.h>
+#include <libDER/DER_Decode.h>
+#include <libDER/DER_Keys.h>
+
+#import <Foundation/Foundation.h>
+
 #import <Security/Security.h>
 #import <Security/SecCertificatePriv.h>
 
 //  <rdar://problem/10473567>
 //
 
-#import <Foundation/Foundation.h>
-#import <Security/Security.h>
-
-#include <libDER/asn1Types.h>
-#include <libDER/DER_Encode.h>
-#include <libDER/DER_Decode.h>
-#include <libDER/DER_Keys.h>
-
-
 /* test RSA public key to import */
 static const uint8_t kPublicKey[] =
 {
@@ -100,7 +98,7 @@ static void
 testPubKeyImport(void)
 {
        OSStatus status = errSecSuccess;
-       NSArray* outputItems = nil;
+       CFArrayRef outputItems = nil;
     SecKeychainRef keychain = NULL;
        NSData* keyData = [NSData dataWithBytes:kPublicKey length:sizeof(kPublicKey)];
        SecExternalFormat format = kSecFormatUnknown;
@@ -111,7 +109,7 @@ testPubKeyImport(void)
 
        status = SecItemImport((CFDataRef)keyData,
                NULL, &format, &keyType, 0, NULL,
-        keychain, (CFArrayRef *)&outputItems);
+        keychain, &outputItems);
 
        NSLog(@"SecItemImport result = %d", (int)status);
 
@@ -189,6 +187,7 @@ testPubKeyImportWithModulusAndExponent(SecKeychainRef keychain)
     CFArrayRef outArray = NULL;
 
     status = SecItemImport(pkcs1, NULL, &externalFormat, &externalItemType, 0, NULL, keychain, &outArray);
+    CFReleaseNull(pkcs1);
     ok_status(status, "%s: SecItemImport", testName);
     if (status != errSecSuccess) {
        NSLog(@"SecItemImport result = %d", (int)status);
@@ -207,10 +206,8 @@ int kc_26_key_import_public(int argc, char *const *argv)
 
     SecKeychainRef kc = getPopulatedTestKeychain();
 
-    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 //    testPubKeyImport();
     testPubKeyImportWithModulusAndExponent(kc);
-    [pool drain];
 
     ok_status(SecKeychainDelete(kc), "%s: SecKeychainDelete", testName);
     CFReleaseNull(kc);