SecKeyRawVerify и OSError -9809
Я использую цифровые сертификаты для подписи файлов данных в моем приложении. Приведенный ниже фрагмент кода завершается ошибкойSecKeyRawVerify
возвращается с -9809. Это работает на iPhone. Я даже не могу точно определить, что означает этот код ошибки
Предыдущие вызовы Security Framework для загрузки и создания SecTrustRef, из которых получен открытый ключ, выглядят нормально - ошибок нет. Единственная небольшая проблема заключается в том, что призыв кSecTrustEvaluate
возвращаетkSecTrustResultUnspecified
, но я предполагаю, что это потому, что политика, которую я использую, является образцом, возвращеннымSecPolicyCreateBasicX509
вызов.
Любая помощь или понимание будет очень цениться.
Спасибо
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]
);