Я использовал сертификат LetsEncrypt для своего личного веб-сервера в течение некоторого времени, обновил его несколько раз, и он отлично работает. Сейчас я переезжаю на новую машину (с немного другим видом unix).
Как перенести мой сертификат на новый компьютер и как заставить клиента LetsEncrypt работать на этом новом компьютере?
Глупо, я думал, что это будет так же просто, как перенести каталог /etc/letsencrypt
, но, похоже, я ошибся.
После этого при запуске letsencrypt-renewer
очень странное исключение, которое заканчивается
TypeError: initializer for ctype 'char *' must be a str or list or tuple, not unicode
из OpenSSL/crypto.py
.
В /etc/letsencrypt/accounts/
есть каталоги с именами, похожими на хэши, и в нем находится файл meta.json, содержащий внутреннее имя компьютера, который я использовал для создания сертификата.
Запуск letsencrypt certonly
дает мне возможность выбрать аккаунт (!) где я могу выбрать внутреннее имя старой машины и внутреннее имя новой машины.
Выбор любого из них и отправка имени моего домена приводит к той же ошибке (отредактировано для ... анонимности)
IMPORTANT NOTES:
- The following errors were reported by the server:
Domain: <mydomain>
Type: urn:acme:error:unauthorized
Detail: Incorrect validation certificate for TLS-SNI-01 challenge.
Requested <hexadeciman29positions>.<morehexadecimal>
<hexadecimal>.acme.invalid from <myip>:443. Received certificate
containing '<mydomain>'
Так... Я думаю, что есть некоторые ключевые файлы, которые я пренебрег. Или что-то еще, чего я не понимаю.
Кто-нибудь знает как это сделать?