Безопасный доступ к сайту с использованием SSL сертификата
Мне нужно реализовать безопасный доступ к корпоративному сайту с использованием SSL-сертификатов. После долгих поисков я пришел к выводу, что есть 2 способа сделать это:
создание собственного самозаверяющего сертификата корневого ЦС, затем создание ключа и сертификата для сервера (мы используем nginx), и после этого создание клиентских сертификатов, подписанных самозаверяющим сертификатом корневого ЦС.
получение сертификата и ключа от центра сертификации (в нашем случае это был StartSSL).
в 1. есть большая проблема - клиентский браузер не принял этот сертификат и выдал сообщение.
в 2. есть еще одна проблема - браузеры принимают сертификат без проблем, но с ним невозможно подписать сертификат клиента.
И вот мой вопрос - как я могу реализовать безопасный доступ к сайту на nginx с использованием сертификатов и как я могу выдавать клиентские сертификаты для доступа к сайту правильным образом?
1 ответ
Нет проблем №2.
Если вы хотите выполнить аутентификацию на основе сертификатов, то вы предоставляете свой открытый ключ, они предоставляют свой открытый ключ (откуда бы он ни исходил, что не имеет значения), и каждый из вас весело идет своим путем.
Если вы просто хотите использовать обычное шифрование SSL (например, для HTTPS
), затем вы получаете сертификат, подписанный ЦС, которому доверяют браузеры пользователей (который никогда не подписывается самостоятельно). Вы устанавливаете сертификат и его цепочку сертификатов на свой сервер и продолжаете свою жизнь.
Если это небольшая установка, я настоятельно рекомендую использовать программу Let's Encrypt от EFF (запуск завтра или, если вы посетитель из будущего, надеюсь, все еще запущен).