У меня есть доверенный корневой сертификат третьей стороны. Я устанавливаю его в хранилище сертификатов «Доверенные корневые центры сертификации» в Windows Server 2008, но в неизвестное время он исчезает из хранилища сертификатов.
Что может быть причиной этого?
Я использую следующий код в приложении командной строки C # для установки сертификата:
X509Certificate2 certificate = new X509Certificate2("trusted-root-cert.cer");
X509Store store = new X509Store(StoreName.AuthRoot, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(certificate);
store.Close();
Код установки сертификата запускается каждый раз, когда я публикую изменения в своем приложении. Не понимаю, как это может навредить, но об этом стоит упомянуть.
Возможно, я неправильно устанавливаю сертификат. Какой способ установки предпочтительнее?
При более тщательном копании в журнале событий приложений обнаружилась эта запись:
Log Name: Application
Source: Microsoft-Windows-CAPI2
Date: 24/10/2014 12:49:10
Event ID: 4108
Task Category: None
Level: Information
Keywords: Classic
User: N/A
Computer: [redacted]
Description:
Successful auto delete of third-party root certificate:: Subject [...redacted...]
Оказывается, что сторонние корневые ЦС могут быть удалены Windows, если они не распознаются:
Обычно сертификат используется при использовании защищенного веб-сайта или при отправке и получении защищенной электронной почты. Кто угодно может выдавать сертификаты, но чтобы транзакции были максимально безопасными, сертификаты должны выдаваться доверенным центром сертификации (CA). Microsoft включила в список Windows XP и другие продукты компаний и организаций, которые она считает надежными.