Как отозвать сертификат Snakeoil по умолчанию?

Windows XP продолжает использовать сертификат snakeoil, который поставляется с Ubuntu, несмотря на тот факт, что он никогда не использовался ни на одном виртуальном хосте.

Сертификат находится в

/etc/ssl/certs/ssl-cert-snakeoil.pem

Я не уверен, где ключ. Единственное, что я вижу, что кажется правдоподобным, это в

/etc/ssl/private/ssl-cert-snakeoil.key

Я думаю, что сертификат CA в

/etc/ssl/certs/ca-certificates.crt

, но я просто не уверен.

До сих пор я пробовал различные команды openssl, такие как

openssl ca -keyfile /etc/ssl/private/ssl-cert-snakeoil.key \
    -revoke /etc/ssl/certs/ssl-cert-snakeoil.pem \
    -cert /etc/ssl/certs/ca-certificates.crt

. Выходные данные этой команды были

Using configuration from /usr/lib/ssl/openssl.cnf
CA certificate and CA private key do not match
14805:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:406:

. У меня нет идей. Любая помощь очень ценится.

РЕДАКТИРОВАТЬ

Вот что произошло:

Я купил сертификат у GeoTrust, установил его, активировал новый виртуальный хост, используя этот сертификат, и перезапустил apache2. Ни на одном этапе существования этого сервера не использовался какой-либо другой сертификат для защиты веб-трафика, не говоря уже о сертификате snakeoil. Windows Vista и выше, а также OSX и все дистрибутивы Linux, которые я тестировал, используют правильный сертификат. В Windows XP используется сертификат snakeoil (в IE нет других браузеров на этой виртуальной машине). Вот несколько скриншотов:

The correct certificate loaded in Chrome

The incorrect certificate loaded in IE 8 on Windows XP

2
задан 17 March 2012 в 05:05

2 ответа

Сертификат «snakeoil» генерируется автоматически при установке пакета ssl-cert.

Это самозаверяющий сертификат, поэтому отзывать его не имеет особого смысла. Вы можете легко сгенерировать новый, хотя:

sudo make-ssl-cert generate-default-snakeoil --force-overwrite

Вам, вероятно, придется перезапустить любую службу, которая использовала этот сертификат, чтобы изменения вступили в силу.

Когда вы говорите, что Windows XP продолжает использовать сертификат, что именно вы имеете в виду? Если вы указали своему веб-браузеру на этом компьютере доверять определенному сертификату snakeoil, сгенерированному вашей системой Ubuntu, отменить это доверие в интерфейсе управления сертификатами браузера будет просто.

0
ответ дан 17 March 2012 в 05:05

Учитывая предоставленную вами дополнительную информацию, мне, вероятно, будет проще начать другой ответ.

Похоже, что фиктивный сертификат «snakeoil» представляется клиенту Windows. Сертификат «snakeoil» генерируется с темой CN=Ubuntu, в то время как сертификат, представляемый в коробку Windows, имеет тему CN=Production. Итак, мы смотрим на третий сертификат здесь.

Я смогу увидеть тот же сертификат, если подключусь к вашему серверу с помощью OpenSSL s_client:

$ openssl s_client -connect portal.avendimedia.com:443
...
Certificate chain
 0 s:/CN=Production
   i:/CN=Production
...

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

Это прекрасно работает в большинстве современных браузеров, но не работает в Internet Explorer на версиях Windows до Vista. На данный момент маловероятно, что Microsoft обновит библиотеки SSL в Windows XP для поддержки расширения SNI.

Если вам нужен ваш сайт для работы с Internet Explorer в XP, посмотрите, можете ли вы удалить ссылки на этот другой хост SSL, работающий на том же IP-адресе, из конфигурации Apache.

0
ответ дан 17 March 2012 в 05:05

Другие вопросы по тегам:

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