SecKeyRawVerify und OSError -9809
Ich benutze digitale Zertifikate, um Datendateien in meiner App zu signieren. Das folgende Codefragment schlägt beim Aufruf von fehlSecKeyRawVerify
kehrt mit -9809 zurück. Dies läuft auf einem iPhone. Ich kann nicht einmal genau identifizieren, was dieser Fehlercode bedeutet
Die früheren Security Framework-Aufrufe zum Laden und Erstellen des SecTrustRef, von dem der öffentliche Schlüssel abgerufen wird, scheinen in Ordnung zu sein - keine Fehler. Das einzige kleine Problem ist, dass der Anruf anSecTrustEvaluate
gibt a zurückkSecTrustResultUnspecified
Ich gehe aber davon aus, dass die Richtlinie, die ich verwende, die Kesselplakette ist, die von derSecPolicyCreateBasicX509
Anruf.
Jede Hilfe oder Einsicht wäre sehr dankbar.
Vielen Dank
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]
);