你的问题不够具体。有一个非常有用的示例可以访问钥匙串来存储证书:
https://github.com/kuapay/iOS-Certificate--Key--and-Trust-Sample-Project
我认为您必须使用以下功能添加您的证书(以 cer 格式):
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
}
}
祝你好运!