подыскать валидный персональный сертификат

andreymx
Дата: 10.08.2017 15:25:05
начало положено
            // https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2collection.find(v=vs.110).aspx
            X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
            X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
как его проверить на валидность?

проверяю так, но глючит
валидные сертификаты показывает с текстом несоответствия
   foreach (X509Certificate2 cert in fcollection)
                {
                                X509Chain X509Chain = new X509Chain();
                                X509Chain.Build(cert);
                                // информация о цепочке.
                                X509Chain.ChainPolicy.RevocationFlag = X509RevocationFlag.ExcludeRoot;
                                X509Chain.ChainPolicy.RevocationMode = X509RevocationMode.Online;
                                X509Chain.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag;

                                if (X509Chain.ChainStatus.Length > 0)
                                {   //  тут в статусе может быть прописана только всякая фигня, поэтому считаем его невалидным
                                    certFound = false;
                                }
                                // debug certFound = false; // debug 
                                if (certFound) {
                                    return cert;
                                }
andreymx
Дата: 11.08.2017 18:20:07
Коллеги, идей вообще нет?

Мне нужен валидный действующий сертификат текущего юзверя с приватным ключом