Можно ли использовать .NET X509Store для получения сертификатов из удаленных хранилищ Linux? - PullRequest
0 голосов
/ 22 мая 2018

Я пишу сервис для периодического обхода хранилищ сертификатов на удаленных серверах в производстве с целью отслеживания используемых сертификатов, где и даты их истечения, в случае, если некоторые не были обновлены как требуется.

Обход серверов Windows работает как положено.Но я не уверен, что делать с магазинами Tomcat в (Ubuntu) Linux.Может ли объект X509Store ориентироваться на удаленные машины Linux?И как там отображаются концепции StoreName и StoreLocation?Как мне пройти аутентификацию?Я предполагаю, что он захочет, чтобы сессия SSH попыталась соединиться с магазинами.Да, я не знаю с чего начать.

using(var store = new X509Store($@"\\{serverName}\{storeName}", StoreLocation.LocalMachine))
{
    store.Open(OpenFlags.ReadOnly);
    foreach(var cert in store.Certificates)
    {
        var issuedTo = cert.GetNameInfo(X509NameType.SimpleName, false);

1 Ответ

0 голосов
/ 22 мая 2018

Нет.API-интерфейс X509Store в Linux пытается эмулировать поведение Windows для локального процесса, но у него нет удаленных возможностей.

В Windows реальная реализация X509Store - это API-интерфейсы CAPI CertStore *, которые имеют встроенный межплатный компьютеркоммуникационные возможности (возможно, через WinRPC);но они в основном являются частью ОС.

В Linux функциональность предоставляется только библиотекой System.Security.Cryptography.X509Certificates, и поэтому ничего не слушается удаленно.

ВклmacOS, вероятно, ничего не слушает удаленно, но классы X509Store являются интерпретациями и проекциями SecKeychain * и SecTrust * API Security.framework, поэтому на нижнем уровне может быть некоторый уровень удаленного взаимодействия.

...