Я пытаюсь получить список неистекших сертификатов из хранилищ сертификатов удаленных машин. Для некоторых машин это работает нормально, но для других я получаю следующую ошибку:
Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: The network path was not found.
at Internal.Cryptography.Pal.StorePal.FromSystemStore(String storeName, StoreLocation storeLocation, OpenFlags openFlags)
at System.Security.Cryptography.X509Certificates.X509Store.Open(OpenFlags flags)
at GetCertificates(String server)
Вот фрагмент кода, из которого это берется:
var store = new X509Store($@"\\{server}\My", StoreLocation.LocalMachine);
var certList = new List<X509Certificate2>();
try
{
store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
certList = store.Certificates.Cast<X509Certificate2>()
.Where(x => x.NotBefore < DateTime.Now &&
DateTime.Now < x.NotAfter).ToList();
}
catch (Exception e)
{
throw;
}
finally
{
store.Close();
}
Есть идеи, почему это может происходить на некоторых машинах и/или возможные обходные пути/решения?
Спасибо
согласно документ конструктора,
new X509Store(this is a name, this is a location type)
. но ваш первый фактический параметр - это путь к общей папке, а не имя.@LeiY, я основал код на основе этого решения, которое предполагает использование удаленных путей/UNC: coderhelper.com/a/30945625/2048464