Есть ли какой-нибудь способ, которым мы можем получить публичные Cetrificates X509, используя c # с сервера AD для шифрования электронной почты.
Сейчас я использую локальный магазин для получения сертификатов и шифрования почты.
static public X509Certificate2 GetRecipientCertPublic(string recipientName)
{
X509Store storeAddressBook =
new X509Store(StoreName.AddressBook, StoreLocation.CurrentUser);
storeAddressBook.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certColl =
storeAddressBook.Certificates.Find(X509FindType.FindBySubjectName, recipientName, false);
storeAddressBook.Close();
if (certColl.Count != 0)
{
return certColl[0];
}
else
{
return null;
}
}
Как я вижу, поведение в Outlook отличается. Даже если общедоступный сертификат рецепта отсутствует в локальном диспетчере сертификатов компьютеров. он может получить общедоступный сертификат с центрального сервера организации или с рекламного сервера (я не очень уверен в этом) и отправить зашифрованную почту.