Convierta NSString a SecKeyRef para verificar RSA en el objective-C

Quiero verificar una información en iOS 7. Ahora tengo una function:

-(BOOL) PKCSVerifyBytesSHA256withRSA:(NSData*) plainData withSign:(NSData*) signature withKey:(SecKeyRef) public_Key{ size_t signedHashBytesSize = SecKeyGetBlockSize(public_Key); const void* signedHashBytes = [signature bytes]; size_t hashBytesSize = CC_SHA256_DIGEST_LENGTH; uint8_t* hashBytes = malloc(hashBytesSize); if (!CC_SHA256([plainData bytes], (CC_LONG)[plainData length], hashBytes)){ return nil; } OSStatus status = SecKeyRawVerify(publicKey, kSecPaddingPKCS1SHA256, hashBytes, hashBytesSize, signedHashBytes, signedHashBytesSize); return status == errSecSuccess; } 

y una key:

 NSString *public_key = @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCT2eIq8i/uAHzvwOWhFU9AuRHjPnGq8wD461ZH7N4/LjoRwPaPF3meyyENJgtDr4EyhV9KN77/3VT+87ZpT6QH9w6Q5XwDmM3jhU6bUhWyIPLzrd5XE2rQKRIMXixflz/8Q327VHKsLoKu44HuCh6XrB+uMWUjwVLCLOi2U0sYdQIDAQAB"; 

- (SecKeyRef)getPublicKeyRef un enlace aquí, así que - (SecKeyRef)getPublicKeyRef el - (SecKeyRef)getPublicKeyRef y PKCSVerifyBytesSHA256withRSA a una nueva class y llamada

  RSA1 * rsa1 = [[RSA1 alloc] init];
     if ([rsa1 PKCSVerifyBytesSHA256withRSA: Ddata withSign: Dsig withKey: [rsa1 getPublicKeyRef]]) {
         NSLog (@ "True");}
     más{
         NSLog (@ "nil");} 

pero tengo un error en la línea

  size_t signedHashBytesSize = SecKeyGetBlockSize (public_Key); 

en PKCSVerifyBytesSHA256withRSA con function PKCSVerifyBytesSHA256withRSA con la nota: Thread 1: EXC_BAD_ACCESS(code=1, address=0x10) ¿Hay alguna forma de resolver este problema?