Чтение данных из второго устройства чтения смарт-карт в веб-приложении

Хотя мой вопрос был задан более года назад и так и не получил ответа, я думаю, что, возможно, нашел способ сделать это. Когда запущено веб-приложение и второй CAC вставлен в дополнительный считыватель на ПК, ActivClient считывает карту и помещает сертификат в хранилище. Итак, я захожу в магазин и нахожу сертификат по имени человека:

enter code here

person Dean.DePue    schedule 05.12.2018    source источник


Ответы (1)


[HttpPost]
    public ActionResult GetNewCardEdipi(string name)
    {
        //test multiple readers
        X509Store keystore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
        keystore.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
        var clientCert = keystore.Certificates;
        var certs = keystore.Certificates.Find(X509FindType.FindBySubjectName, name, false);
        var cuser = certs[0];
        var sub = cuser.Subject;
        string[] strs = sub.Split(',');

        string edi = strs[0].Substring(strs[0].LastIndexOf(".") + 1);
        //end
        return Json(edi);
    }

Это прекрасно работает.

person Dean.DePue    schedule 05.12.2018