private void AddRow(SslCertificateBinding binding)
{
DataRow row = m_dataset.Tables[0].NewRow();
row[0] = binding.IPAddress;
row[1] = binding.Port;
row[3] = binding.Thumbprint;
row[4] = binding;
CertificateStoreIdentifier id = new CertificateStoreIdentifier();
id.StoreType = CertificateStoreType.Windows;
id.StorePath = "LocalMachine\\" + ((String.IsNullOrEmpty(binding.StoreName)) ? "My" : binding.StoreName);
using (ICertificateStore store = id.OpenStore())
{
X509Certificate2 certificate = store.FindByThumbprint(binding.Thumbprint);
if (certificate != null)
{
row[2] = certificate.Subject;
}
else
{
row[2] = "<not found>";
}
}
m_dataset.Tables[0].Rows.Add(row);
}