Загрузка сертификатов X509 из папки
Я использую c #, и мне нужно загрузить сертификаты X509 из папки. Мне нужно загрузить файлы из папки, чтобы показать их в таблице внутри моей программы шифрования.
public partial class Form1 : Form
{
DataTable dt = new DataTable();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var store = new X509Store(StoreName.My, storeLocation: StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
DataColumn dc1 = new DataColumn("Name", typeof(string));
DataColumn dc2 = new DataColumn("E-mail", typeof(string));
DataColumn dc3 = new DataColumn("valid from", typeof(string));
DataColumn dc4 = new DataColumn("Expiry Date", typeof(string));
DataColumn dc5 = new DataColumn("ThumbPrint", typeof(string));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
foreach (X509Certificate2 mCert in store.Certificates)
{
string email1 = mCert.GetNameInfo(X509NameType.SimpleName, false);
string stringAfterChar = email1.Substring(email1.IndexOf("-") + 1);
string name = mCert.GetNameInfo(X509NameType.SimpleName, false);
string[] splitString = name.Split('-');
string namewithoutemail = splitString[0].Trim();
dt.Rows.Add(namewithoutemail , stringAfterChar, mCert.NotBefore, mCert.GetExpirationDateString() , mCert.Thumbprint);
}
dataGridView1.DataSource = dt;
}
Это мой код, и на самом деле я могу загрузить сертификаты из CertificateStore, но я хочу загрузить сертификаты из папки. Другая вещь, которую я могу сделать, это создать специальное хранилище сертификатов для моей программы, но я думаю, что это невозможно.
Спасибо за любую помощь