Доверяемый корневой сертификат, автоматически удаляемый из хранилища

У меня есть корневой сертификат доверенной третьей стороны. Я устанавливаю это на хранилище сертификатов 'Доверенных корневых центров сертификации' в Windows Server 2008, но это исчезает из хранилища сертификатов в неизвестные времена.

Что могло вызывать это?

  • Сертификат не истек
  • Это, кажется, не было отменено
  • Я не вижу соответствующих журналов событий во времена инцидентов
  • Это происходит на моей dev машине, тестовых средах и рабочих серверах
  • Рабочие серверы не находятся на домене, просто рабочая группа (размещены в Rackspace)
  • Запросы групповой политики (gpresult/h foo.html) не сообщают, что мне препятствуют доверять стороннему корню CA

Я использую следующий код в 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();

Код установки сертификата, оказывается, работает каждый раз, когда я выпускаю изменение в своем приложении. Я не вижу, как это могло делать что-то плохое, но это стоит упомянуть.

Могло бы быть что-то не так о способе, которым я устанавливаю сертификат. Каков предпочтительный способ установить?

7
задан 28 October 2014 в 12:50
2 ответа

При более тщательном поиске в журнале событий приложений появилась эта запись:

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 и другие продукты список компаний и организаций, которые она считает надежными.

http://toastergremlin.com/?p=144

8
ответ дан 2 December 2019 в 23:35

У меня была такая же проблема при установке сертификата в AuthRoot.

После того как я установил его в Root, все было в порядке.

Интересно отметить, что означает каждое значение перечисления StoreName:

https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography. x509certificates.storename?view=netcore-3.1

0
ответ дан 7 September 2020 в 07:36

Теги

Похожие вопросы