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

Как отозвать сертификат 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. Никаких других браузеров на этой виртуальной машине). Вот несколько снимков экрана:

Правильный сертификат загружен в Chrome

Неправильный сертификат загружен в IE 8 на Windows XP

решение1

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

Не похоже, что фиктивный сертификат "snakeoil" представляется клиенту Windows. Сертификат "snakeoil" генерируется с темой CN=Ubuntu, в то время как сертификат, представляемый в Windows box, имеет тему 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.

решение2

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

Это самоподписанный сертификат, поэтому отзывать его не имеет смысла. Однако вы можете легко сгенерировать новый:

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

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

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

Связанный контент