我正在尝试从钥匙串中获取任何证书并尝试在其上创建信任对象。
但是,当我运行此代码时,
CFTypeRef result = NULL;
SecTrustRef *trust = NULL;
NSDictionary *query = @{ (__bridge id)kSecClass: (__bridge NSString*)kSecClassCertificate,
(__bridge id)kSecMatchLimit: (__bridge id)kSecMatchLimitOne,
(__bridge id)kSecReturnAttributes: @YES,
(__bridge id)kSecReturnRef: @YES };
OSStatus status;
status = SecItemCopyMatching((__bridge CFDictionaryRef)query, (CFTypeRef *)&result);
结果返回一个字典。
当我尝试输入结果时,我得到 secondStatus 的 -50 错误,这意味着我的参数不正确。
SecTrustRef *trust = NULL;
SecPolicyRef policy = SecPolicyCreateBasicX509();
secondStatus = SecTrustCreateWithCertificates(result, policy, trust);
为什么结果应该是 CFTypeRef 时返回字典?如何将 CFTypeRef 转换为 SecCertificateRef?