Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SecCertificateRef certificate = SecCertificateCreateWithData(NULL, (CFDataRef) certificateData);
- CFArrayRef rootCerts = (CFArrayRef)[client.additionalRootCertificates allObjects];
- SecTrustResultType result;
- OSStatus returnCode;
- if (rootCerts && CFArrayGetCount(rootCerts)) {
- // this could fail, but the trust evaluation will proceed (it's likely to fail, of course)
- SecTrustSetAnchorCertificates(trust, rootCerts);
- }
- returnCode = SecTrustEvaluate(trust, &result);
- if (returnCode == errSecSuccess) {
- proceed = (result == kSecTrustResultProceed || result == kSecTrustResultConfirm || result == kSecTrustResultUnspecified);
- if (result == kSecTrustResultRecoverableTrustFailure) {
- // TODO: should try to recover here
- // call SecTrustGetCssmResult() for more information about the failure
- }
- }
Add Comment
Please, Sign In to add comment