4
我开发IPhone需要一个证书来调用一些服务的应用程序,所以我加入了证书,我的钥匙串这样做:SecItemAdd创建两个身份
SecCertificateRef cert = SecCertificateCreateWithData(NULL, (__bridge CFDataRef) certificadoData);
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setObject:(__bridge id)kSecClassCertificate forKey:(__bridge id)kSecClass];
[dictionary setObject:(__bridge id)(cert) forKey:(__bridge id<NSCopying>)(kSecValueRef)];
OSStatus status = SecItemAdd((__bridge CFDictionaryRef)dictionary, NULL);
当我列出所有的kSecClassIdentity在此代码之前,结果是none,并且在此代码之后,返回是两个身份和一个证书。 当我尝试使用身份标识时,一个正常工作,另一个没有。为什么SecItemAdd为一个kSecClassCertificate创建两个kSecClassIdentity?我怎样才能找到正确的?
这必须是一个钥匙扣错误,因为它对每个证书拥有多个身份是没有意义的,也没有与私钥没有关联的身份。你有没有向苹果提交错误报告? –