SecKeyRawVerify y OSError -9809
Estoy utilizando certificados digitales para firmar archivos de datos en mi aplicación. El siguiente fragmento de código falla cuando la llamada aSecKeyRawVerify
Vuelve con -9809. Esto se está ejecutando en un iPhone. Ni siquiera puedo identificar exactamente lo que significa este código de error
Las llamadas anteriores de Security Framework para cargar y crear el SecTrustRef a partir del cual se obtiene la clave pública parecen estar bien, sin errores. El único pequeño problema es que la llamada aSecTrustEvaluate
devuelve unkSecTrustResultUnspecified
, pero supongo que esto se debe a que la política que estoy usando es la repetitiva que devolvió elSecPolicyCreateBasicX509
llamada.
Cualquier ayuda o conocimiento sería muy apreciado.
Gracias
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]
);