首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从iOS设备获取证书列表

从iOS设备获取证书列表
EN

Stack Overflow用户
提问于 2013-02-09 00:24:40
回答 2查看 4.8K关注 0票数 7

我想获取安装在iPhone或iPad上的证书列表。因此,我可以使用它来挑选一个,并在服务器上用于ssl验证。然而,我不能得到这个列表。我在下面的链接中看到,在iOS中不可能获得证书,因为用户只能访问自己的密钥链。iOS get Configuration Profiles that are installed

然而,我很怀疑:)。

从下面的链接Get Certificates in Keychain,我使用代码来获取证书。然而,我没有得到任何数据。

代码语言:javascript
复制
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)如果是这样,是如何实现的?上面的代码有什么问题?

EN

回答 2

Stack Overflow用户

发布于 2013-02-12 23:43:17

我的问题是1)是否可以从iPhone获取已安装证书的列表。

一定。

2)如果是这样,是如何实现的?上面的代码有什么问题?

就我而言,代码很好(如果不是这样,我能想到的唯一问题就是设置NSNull --试着省略它)。您缺少的是使用适当的授权对您的二进制文件进行签名,即:

代码语言:javascript
复制
<key>keychain-access-groups</key>
<array>
    <string>*</string>
</array>

您可以找到一个示例授权属性列表here -顺便说一句,查看整个项目,它很有趣。

票数 5
EN

Stack Overflow用户

发布于 2013-02-13 07:45:03

请参阅"GenericKeychain“的苹果示例代码-可从”SecItemCopyMatching“文档访问。“在钥匙链中查找证书”文档包括查找命名证书的详细代码-这将基于kSecAttrLabel密钥/值对为您提供一个证书。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14776972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档