На днях я попытался сгенерировать несколько ключей OpenVPN для нового сотрудника. Та же процедура, что и обычно. За последние месяцы в этой сфере ничего не изменилось.
Во время генерации сертификата я получаю следующую ошибку:
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
entry 22: invalid expiry date
После некоторых поисков, похоже, нет однозначного ответа. Некоторые сайты что-то сказали о файле базы данных index.txt становится поврежденным. Другие сказали, что это как-то связано с default_days
установка в openssl.cnf
. Другие сайты предположили, что это ошибка OpenSSL.
У кого-нибудь есть подсказки?
ОБНОВИТЬ
После дополнительных исследований я обнаружил, что существует ошибка OpenSSL, при которой срок действия последнего сгенерированного сертификата выходит за пределы 2050 года, и, следовательно, дата в index.txt по какой-то причине к нему добавлены две дополнительные цифры, что делает index.txt кажутся поврежденными. Я не знаю, как это исправить.
Я знаю, что это действительно старый вопрос, но я сам столкнулся с этой проблемой, и на ее решение потребовалось много времени, надеясь, что это может помочь кому-то в будущем. Кроме того, учитывая, что это все еще один из первых результатов, которые Google предоставляет для поиска по этой ошибке, кажется уместным опубликовать здесь.
«запись 22» относится к строке 22 файла базы данных для CA - в вашем случае это звучит так, как будто этот файл - «index.txt». Моя ошибка была «запись 477», которая относилась к строке 477 файла базы данных моего центра сертификации.
Чтобы исправить это, просто вручную измените файл базы данных и сделайте так, чтобы срок годности выглядел так, как должен.
Для моего файла базы данных OpenSSL второй столбец соответствует истечению срока, а моя недопустимая запись, вызвавшая эту ошибку, была «20160505000000Z». Эта конкретная запись содержит 2 дополнительные цифры по сравнению со всеми другими записями. Две дополнительные цифры - это «20» в «2016». Я вручную изменил это на «160505000000Z», а затем эта ошибка исчезла.
Не знаю, как это вообще было разрешено, но именно это исправило мою. Надеюсь, это кому-то поможет.
Это ошибка «Проблема 2038 года»! Кажется, что нельзя создать сертификаты OpenVPN, срок действия которых истекает после 19 января 2038 года. Я использую Ubuntu 10.04 и OpenVPN 2.1.0.
Я столкнулся с той же проблемой и могу подтвердить ошибку 2038 года в openssl 0.9.8. При изменении времени в index.txt вручную "исправлено" сообщение об ошибке "недопустимая дата истечения срока действия", но сгенерированный сертификат действует до 1902 года.
Таким образом, вам нужно либо использовать openssl 1.0+, либо уменьшить параметры "дней", например в вашем openssl.cnf.