アプリのデータファイルに署名するためにデジタル証明書を使用しています。以下のコードフラグメントは、への呼び出しがSecKeyRawVerify
-9809で戻ると失敗します。これはiPhoneで実行されています。このエラーコードの意味を正確に特定することすらできません
公開鍵を取得する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]
);