Наше приложение устанавливает профиль корневого ЦС, и я хочу убедиться, что он установлен и доверен пользователю.
В настоящее время это примерно то, что мы делаем (обрезали его для ядра)
SecPolicyRef policyObj = SecPolicyCreateBasicX509();
SecTrustRef trustObj;
OSStatus error = SecTrustCreateWithCertificates((__bridge CFTypeRef _Nonnull)(fullChain), policyObj, &trustObj);
SecTrustResultType result;
error = SecTrustEvaluate(trustObj, &result);
CFRelease(trustObj);
CFRelease(policyObj);
return (kSecTrustResultUnspecified == result || kSecTrustResultProceed == result);
Проблема в том, что после установки профиля результатом является либо kSecTrustResultUnspecified (iOS 10 ~), либо kSecTrustResultProceed (iOS 11 ~), но я хочу проверить, доверял ли он пользователю (в разделе General-> About-> TrustНастройки)
Я покопался в документах Apple и ничего не нашел, более того, в документе SecTrustEvaluate указано, что возвращаемое значение «продолжить» означает, что пользователь доверял сертификату.
proceed— The user explicitly chose to trust a certificate in the chain (usually by clicking a button in a certificate trust panel).
У кого-нибудь есть идеи, как это можно сделать?что мне не хватает?