我通过电子邮件向我的iPad发送了一个.p12证书,并将其安装在下面的设置中 设置 - >配置文件 - >配置文件。
我尝试使用以下代码在iPad上获取证书数组:
SecRecord myquery = new SecRecord(SecKind.Identity);
SecStatusCode resultCode;
SecRecord[] arrayRecords = SecKeyChain.QueryAsRecord(myquery, 10, out resultCode);
从QueryAsRecord()返回时,resultCode设置为ItemNotFound。我也尝试创建myquery:
SecRecord myquery = new SecRecord(SecKind.Certificate);
但这也导致resultCode设置为ItemNotFound。
如何使用SecKeyChain.QueryAsRecord()获取已安装证书的列表?
答案 0 :(得分:6)
钥匙串没有你想象的那么有用。钥匙串只允许您访问您手动添加的证书,它不会授予您访问系统证书的权限。
或者至少,我从未找到过这样做的方法,几个月前的谷歌搜索没有找到答案。
答案 1 :(得分:0)
我非常不同意。与KeyChain的monomac绑定非常好,易于使用。您可以访问登录密钥链的所有“Internet密码”并读取/更新/删除它们。
这是一个github项目的链接,它将为您提供开箱即用的工作示例:
https://github.com/danclarke/MonoMacKeychainDemo/blob/master/KeyChainDemo/KeychainAccess.cs
最佳,
中号