SecKeyRawVerify e OSError -9809

Estou usando certificados digitais para assinar arquivos de dados no meu aplicativo. O fragmento de código abaixo falha quando a chamada paraSecKeyRawVerify retorna com -9809. Isso está sendo executado em um iPhone. Eu não posso nem identificar exatamente o que este código de erro significa

As chamadas anteriores do Security Framework para carregar e criar o SecTrustRef a partir do qual a chave pública é obtida parecem boas - sem erros. O único problema é que a chamada paraSecTrustEvaluate retorna umkSecTrustResultUnspecified, mas eu suponho que é porque a política que estou usando é o clichê retornado peloSecPolicyCreateBasicX509 ligar.

Qualquer assistência ou percepção seria muito apreciada.

obrigado

SecKeyRef keyRef = SecTrustCopyPublicKey (trustRef);

fileURL = [[NSBundle mainBundle] URLForResource:@"data" withExtension:@"txt"];
NSData *data = [NSData dataWithContentsOfURL:fileURL];

fileURL = [[NSBundle mainBundle] URLForResource:@"data" withExtension:@"sgn"];
NSData *signature = [NSData dataWithContentsOfURL:fileURL];

NSLog(@"Hash block size = %zu",SecKeyGetBlockSize(keyRef));

status = SecKeyRawVerify (keyRef,
                          kSecPaddingPKCS1SHA1,
                          (const uint8_t *)[data bytes],
                          (size_t)[data length],
                          (const uint8_t *)[signature bytes],
                          (size_t)[signature length]
                          );

questionAnswers(2)

yourAnswerToTheQuestion