SecKeyRawVerify i OSError -9809

Używam certyfikatów cyfrowych do podpisywania plików danych w mojej aplikacji. Poniższy fragment kodu nie powiedzie się, gdy zadzwonisz doSecKeyRawVerify zwraca z -9809. To działa na telefonie iPhone. Nie mogę nawet dokładnie określić, co oznacza ten kod błędu

Wcześniejsze wywołania Security Framework do ładowania i tworzenia SecTrustRef, z których uzyskiwany jest klucz publiczny, wydają się być w porządku - bez błędów. Jedynym drobnym problemem jest to, że wezwanie doSecTrustEvaluate zwraca akSecTrustResultUnspecified, ale zakładam, że dzieje się tak, ponieważ polityka, której używam, jest polisą zwróconą przezSecPolicyCreateBasicX509 połączenie.

Każda pomoc lub wgląd byłby bardzo mile widziany.

Dzięki

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