Я довольно плохо знаком с SSL-сертификатами и хотел бы знать, можно ли продлить самозаверяющий сертификат, который я использую для HTTPS, чтобы продлить срок его действия, при этом все клиенты сайта не должны проходить через процесс «разрешить исключение», который у них есть делать, когда они посещают сайт в первый раз или, как при выдаче нового самозаверяющего сертификата, созданного с нуля.
Я обнаружил следующее руководство, показывающее, как обновить самозаверяющий сертификат с помощью, openssl
но я не смог его использовать, так что мой браузер молча принимает его, не показывая этот экран предупреждения «Ненадежный сайт»:
# cd /etc/apache2/ssl
# openssl genrsa -out togaware.com.key 1024
# chmod 600 togaware.com.key
# openssl req -new -key togaware.com.key -out togaware.com.csr
AU
ACT
Canberra
Togaware
Data Mining
Kayon Toga
Kayon.Toga@togaware.com
(no challenge password)
# openssl x509 -req -days 365 -in togaware.com.csr \
-signkey togaware.com.key -out togaware.com.crt
# mv apache.pem apache.pem.old
# cp togaware.com.key apache.pem
# cat togaware.com.crt >> apache.pem
# chmod 600 apache.pem
# wajig restart apache2
Мои настройки в значительной степени соответствуют описанию в этом ответе, и я использую файлы CRT и KEY (из этого руководства ) вместо файла PEM, поэтому, возможно, я что-то напутал, пытаясь применить его к своему делу.
С другой стороны, я нашел много сообщений на форуме, предлагающих, что совершенно невозможно возобновить самоподписанный сертификат, и мне нужно создать новый с нуля.
Буду признателен за любую помощь ... или этот вопрос лучше подойдет для /server// или /superuser// ?
источник
Ответы:
По определению, самозаверяющему сертификату можно доверять только через прямое доверие , то есть то, что веб-браузеры, такие как Firefox, показывают как процесс «разрешить исключение». Один очень специфический сертификат, вплоть до последнего бита, объявляется как «доверенный». Ничто не может быть изменено в сертификате без выхода из этой модели, и, в частности, даты истечения срока действия, которая является частью данных, содержащихся в сертификате.
Вы можете представить обновление как своего рода семейную вещь: когда сертификат «обновляется», его фактически заменяет младший брат. Клиенты принимают новый сертификат молча, потому что он имеет ту же родословную, что и предыдущий сертификат. Самозаверяющие сертификаты являются внутренними сиротами: они не имеют предков. Следовательно, нет родного брата и нет автоматической коробки передач.
(Помимо этой наследственной вещи, обновление - это создание нового сертификата. Сертификаты являются неизменными . «Обновление» - это способ размышления о взаимосвязи между старыми и новыми сертификатами.)
Если вы хотите быть в состоянии сделать бесшумные продлений, то вам необходимо самостоятельно подписанный CA сертификат . Вы отправляете сертификаты для своих серверов из этого ЦС и просите своих клиентов доверять этому ЦС. Конечно, это требует много: CA, которому вы доверяете, это CA, который может подделать весь Интернет в ваших глазах. По сути, это решение о создании и поддержке вашего собственного ЦС, что является обязанностью и некоторой работой.
В следующий раз, когда вы создадите самоподписанный сертификат, сделайте его долговечным. Срок действия сертификатов истекает в основном для того, чтобы заставить отзыв работать (истечение срока действия сертификата предотвращает бесконечный рост CRL). Для самозаверяющего сертификата отзыва нет, поэтому вы можете сделать сертификат действительным в течение 20 лет. Или в течение 2000 лет, если на то пошло (хотя проблема 2038 года может появиться в какой-то момент, в зависимости от программного обеспечения клиента).
источник
Краткий ответ: Нет.
Доверие к самозаверяющему сертификату похоже на доверие отдельному паспорту вместо страны, выдавшей этот паспорт. Если вы получите новый паспорт, он не будет автоматически доверен тому, кто доверял старому, особенно потому, что это другая вещь с другими атрибутами (номер паспорта, даты и т. Д.); нет никаких оснований для того, чтобы кто-то явно доверял старому паспорту, чтобы знать, что новому можно доверять.
источник
Если вы используете самозаверяющие сертификаты (я рекомендую использовать xca на windows), вы можете просто установить дату истечения срока действия на 7999-12-31 (это максимальное время для UTC), а начальную дату на 1970-01-01 (для совместимость с неверно настроенным временем / датой в ПК)
источник