Коллеги, добрый день.
Подскажите пожалуйста, вот по какому вопросу:
Возможно ли внутри одной сети, собирать информацию (в идеале делать авто-экспорт открытых ключей в .cer) о сертификатах, которые находятся в личном хранилище? Например выгрузку в CSV по всей структуре x.509.
Хотим инвентаризировать данные о ключах без ожидания обратной связи от своих пользователей.
Пользовательские ПК, как правило с ОС Windows 7 Pro с установленным КриптоПро 4.0.
Получение списка сертификатов:
X509Store store = new X509Store("My"); // личное
store.Open(OpenFlags.ReadOnly); // только чтение
foreach (X509Certificate2 mCert in store.Certificates){
// работаем с конкретным сертификатом как с объектом X509Certificate2
}
Контент для записи в файл:
StringBuilder builder = new StringBuilder();
builder.AppendLine("-----BEGIN CERTIFICATE-----");
builder.AppendLine(Convert.ToBase64String(cert.Export(X509ContentType.Cert), Base64FormattingOptions.InsertLineBreaks));
builder.AppendLine("-----END CERTIFICATE-----");
var s = builder.ToString();
Запись в файл:
File.WriteAllText("c:\\path\cert.cer", s);