簡體   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