0

我正在尝试从钥匙串中获取任何证书并尝试在其上创建信任对象。

但是,当我运行此代码时,

    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?

4

0 回答 0