[英]Xamarin/Visual Studio on Mac - iPhone - Not able to list X509Store certificates
环境设备: 。 iPhone6s
开发环境: .net Standard 1.5,Mac Community版本7.2.2(内部版本7)上的Visual Studio,Xamarin
我有以下代码来获取/列出iPhone上安装的证书。 到目前为止,我还没有成功–使用下面的代码会得到一个空的收藏集。
我正在使用开发配置文件在iPhone上运行代码。
我有2个项目,一个可移植项目和一个iOS项目。 下面列出的代码在可移植类库中。
using System;
using System.Collections.Generic;
using Xamarin.Forms;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
X509Store paramStore
paramStore = new X509Store(StoreName.My, StoreLocation.CurrentUser)
paramStore.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 mCert in paramStore.Certificates)
{
numberOfCertificates = numberOfCertificates + 1;
}
我也尝试过访问StoreName.Root,StoreName.CertificateAuthority以及OpenFlags的变体,例如.ReadWrite-相同结果没有数据。
寻找输入/想法。
不幸的是,iOS不支持它,这是Apple方面的解释:
首先,一些澄清:
考虑到您之前讨论的是“客户端身份验证”,我假设您是在谈论数字身份而不是证书。 注意:数字身份是私钥和包含与该私钥匹配的公钥的证书的组合,如果要服务器对客户端进行身份验证,则数字身份是需要在客户端显示的身份。
似乎您在乎通过MDM安装的数字身份。 以这种方式安装的凭据将放置在Apple钥匙串访问组中,因此,仅Apple应用程序可以访问。 QA1745 使证书和密钥可用于您的应用程序对此进行了详细讨论。
有什么方法可以检查[设备]上是否安装了[数字身份]?
不一般。
更多详细信息,请参阅Apple Developer Forum中的相关案例: 如何从iOS设备获取证书列表?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.