private string GetFileName(X509Certificate2 certificate)
{
// build file name.
string commonName = certificate.FriendlyName;
List<string> names = Utils.ParseDistinguishedName(certificate.Subject);
for (int ii = 0; ii < names.Count; ii++)
{
if (names[ii].StartsWith("CN="))
{
commonName = names[ii].Substring(3).Trim();
break;
}
}
StringBuilder fileName = new StringBuilder();
// remove any special characters.
for (int ii = 0; ii < commonName.Length; ii++)
{
char ch = commonName[ii];
if ("<>:\"/\\|?*".IndexOf(ch) != -1)
{
ch = '+';
}
fileName.Append(ch);
}
fileName.Append(" [");
fileName.Append(certificate.Thumbprint);
fileName.Append("]");
return fileName.ToString();
}