繁体   English   中英

Mac上的Xamarin / Visual Studio-iPhone-无法列出X509Store证书

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM