Рейтинг:-2

Невозможно обновить ssl-сертификаты, notAfter никогда не меняется

флаг cn

Последние два дня я пытался решить проблему с сертификатом ssl на наших серверах.

У нас есть два сервера A и B, Мне удалось подключить A к B, но B изменил сертификат ssl. Они поделились этим ключом, и мы импортировали его, но когда я пытаюсь подключиться к B, я получаю

$ openssl s_client -CApath /etc/ssl/certs/ -connect B:443
ошибка подтверждения: число = 10: срок действия сертификата истек
notAfter=17 сентября 12:00:00 2021 по Гринвичу

Так что это еще старо. Затем я пытаюсь понять, не могу ли я импортировать новый файл .crt, и если это все еще старый.

$ openssl x509 -in B.crt -noout -dates
   notBefore = 4 августа 00:00:00 2021 по Гринвичу
   notAfter=4 августа 23:59:59 2022 GMT

Нет, как вы видите, сертификат новый и действующий. Поэтому я попытался использовать его для проверки подключения к B.

$ openssl s_client -connect B:443 -CAfile B.crt

Но все равно возвращается

 ошибка подтверждения: число = 10: срок действия сертификата истек
 notAfter=17 сентября 12:00:00 2021 по Гринвичу

Что мне теперь делать?

флаг in
Вы перезапускали службу после замены файлов сертификатов?
SS YY KK avatar
флаг cn
Вы имеете в виду опенссл? Я ничего не перезапускал, даже использую -CAfile, есть два разных результата. Когда я проверяю достоверность файла .crt, он кажется действительным. Но когда я пытаюсь подключить этот действительный файл crt, он возвращается, поскольку никогда не использует файл .crt.
флаг in
После замены файла сертификата вам необходимо перезапустить или перезагрузить службы, которые его используют, чтобы они могли загрузить новый сертификат.
Рейтинг:1
флаг ar
$ openssl s_client -CApath /etc/ssl/certs/ -connect B:443
ошибка подтверждения: число = 10: срок действия сертификата истек
notAfter=17 сентября 12:00:00 2021 по Гринвичу

Поэтому B отправляет сертификат с истекшим сроком действия. Согласно комментариям, они отправляют действительный сертификат, когда вы используете SNI для запроса сертификата для имени B.

Решение, очевидно, заключается в использовании SNI, поскольку это то, что B протестировал и реализовал.

SS YY KK avatar
флаг cn
Но когда я пробую сертификат, который они отправляют, например openssl x509 -in B.crt -noout -dates, я получаю правильные даты.
vidarlo avatar
флаг ar
Очевидно, B не использует этот сертификат, поскольку даты не совпадают. Когда вы подключаетесь к B, B отправляет сертификат, который он использует для аутентификации. Важно то, какой сертификат отправляет B, а не то, что вы сохранили локально.
SS YY KK avatar
флаг cn
Я вижу из браузера, что они используют этот сертификат, даты совпадают с браузером.
vidarlo avatar
флаг ar
Так ты не работаешь на Б? Свяжитесь с тем, кто управляет B.
SS YY KK avatar
флаг cn
Спасибо, поскольку они могут подключаться к SNI, например openssl s_client -CApath /etc/ssl/certs/ -connect B:443 -servername B , они говорят, что проблема связана с нашими сертификатами. Но когда я проверяю сообщение https://serverfault.com/questions/799345/openssl-returns-the-expired-certificate-while-browser-shows-the-correct-one, я думаю, что им нужно изменить некоторые файлы конфигурации, что делать Вы думаете?
vidarlo avatar
флаг ar
Итак, они явно ожидают SNI. Вы *пробовали* с SNI? Я не могу понять голову или хвост этого вопроса.
SS YY KK avatar
флаг cn
Хм, да, я пытался. Я мог бы получить код возврата Verify: 0 (ok) с помощью SNI $openssl s_client -connect B:443 -servername B. Спасибо, я сообщу B и сообщу им, что проблема на их стороне.
vidarlo avatar
флаг ar
Проблема не на их стороне. Они явно ожидают, что вы будете использовать SNI, а вы этого не делаете.
SS YY KK avatar
флаг cn
Они убрали sni control при привязке сертификата. Теперь работает, спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.