SecTrustCreateWithCertificates аварийно завершает работу на iPad

Я пытаюсь использовать платформу безопасности iOS для безопасного взаимодействия с моим сервером. У меня есть файл сертификата, из которого я могу получить ссылку на открытый ключ. Это то, что я делаю.

 NSString *certPath    = [[NSBundle mainBundle] pathForResource:@"supportwarriors.com" ofType:@"cer"];
 SecCertificateRef myCertificate = nil;

 NSData *certificateData   = [[NSData alloc] initWithContentsOfFile:certPath]; 
 myCertificate     = SecCertificateCreateWithData(kCFAllocatorDefault, (CFDataRef)certificateData);

 //got certificate ref..Now get public key secKeyRef reference from certificate..
 SecPolicyRef myPolicy   = SecPolicyCreateBasicX509();
 SecTrustRef myTrust;
 OSStatus status     = SecTrustCreateWithCertificates(myCertificate,myPolicy,&myTrust);  

    SecTrustResultType trustResult;
    if (status == noErr) {
        status = SecTrustEvaluate(myTrust, &trustResult);  
    }
 publicKey      = SecTrustCopyPublicKey(myTrust);

Приведенный выше фрагмент кода отлично работает на iPhone, и я это протестировал. Я могу безопасно общаться со своим сервером. Но когда я пытаюсь запустить свое приложение на iPad (в режиме 2x), вышеуказанный код выходит из строя. После отладки я обнаружил, что secTrustCreateWithCertificate дает сбой, и ниже приведен журнал сбоев. Сертификат, который я использовал, одинаков для iPad и iPhone ... Функция выше secCertificateCreateWithData возвращает ссылку на сертификат и не является нулевой ... Так что это не причина аварии .. Что я делаю не так.

*** -[NSCFType count]: unrecognized selector sent to instance 0x14af24
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '***      -[NSCFType count]: unrecognized selector sent to instance 0x14af24'
5
задан Dre 17 February 2011 в 03:17
поделиться