Добавление сертификата в Ubuntu
У меня есть с приложением, которое не обслуживает промежуточный сертификат для клиентов.
В качестве обходного пути я хотел добавить промежуточный сертификат (Let's Encrypt X3) к CA-сертификатам и выполнил шаги, описанные здесь: Как установить корневой сертификат?
К сожалению, я получаю эту ошибку:
синтаксическая ошибка в строке /usr/local/bin/c_rehash 15, рядом с "=;"
синтаксическая ошибка в строке /usr/local/bin/c_rehash 16, рядом с "=;"
Выполнение /usr/local/bin/c_rehash прервано из-за ошибок компиляции.
Что я делаю неправильно?
2 ответа
Вы не делаете ничего плохого. Выполняемый скрипт perl c_rehash не был правильно собран во время установки openssl.
Если вы откроете c_rehash, вы увидите строки с ошибками. Встроенный скрипт не имеет никаких установленных значений, "=;" код. Это вызывает ошибку.
man c_rehash, чтобы увидеть, что он делает. Короче говоря, он хэширует файлы.crt/.pem в каталоге по умолчанию и генерирует символические ссылки, которые указывают на файлы.crt/.pem. Зачем? Некоторые программы используют эти хеши, а не фактическое имя.
Вы можете найти каталог по умолчанию, который был настроен openssl (каталог установки), с помощью команды 'openssl version -a' и посмотреть на OPENSSLDIR. Используйте это значение в скрипте perl c_rehash (не забудьте заключить в двойные кавычки) для префикса $dir и $.
Я не знаю, почему скрипт сборки не работал правильно во время установки; возможно, ошибка исправлена в более позднем выпуске. Я был на 1.0.2о.
Чтобы установить сертификат Let's Encrypt, используйте утилиту certbot. Это хорошо задокументировано.
Вы просто должны сделать:
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-apache
sudo certbot