我想获取安装在 iPhone 或 iPad 上的证书列表。所以我可以用它来选择一个并用于服务器上的 ssl 验证。但是我无法获得此列表。我在以下链接中看到,在 iOS 中无法获取证书,因为只能访问他们自己的钥匙串。iOS 获取已安装的配置文件
但是我怀疑:)。
从下面的链接 获取钥匙串中的证书 我正在使用代码来获取证书。但是我得到零数据。
NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys:
(__bridge id)(kSecClassCertificate), kSecClass,
[NSNull null], kSecMatchSearchList,
kCFBooleanTrue, kSecReturnRef,
kSecMatchLimitAll, kSecMatchLimit,
nil];
CFDataRef *items = nil;
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, ((CFTypeRef *)&items));
我为搜索列表提供 [NSNull null] 并假设如果 keychain ref 为 NULL,则设备采用默认的 keychain。
我的问题是 1) 是否可以从 iPhone 获取已安装证书的列表。2)如果是这样怎么办?上面的代码有什么问题?