Skip to main content

Устранение неполадок с TLS

При возникновении на устройстве проблем с TLS можно предпринять меры по их устранению.

Удаление парольной фразы из файла ключа

Если на компьютере Linux с установлен OpenSSL, можно удалить парольную фразу.

  1. Переименуйте исходный файл ключа.
    $ mv yourdomain.key yourdomain.key.orig
  2. Создайте новый ключ без парольной фразы.
    $ openssl rsa -in yourdomain.key.orig -out yourdomain.key

При выполнении этой команды вам будет предложено ввести парольную фразу ключа.

Дополнительные сведения об OpenSSL см. в документации по OpenSSL.

Преобразование сертификата или ключа TLS в формат PEM

Если у вас установлен OpenSSL, вы можете преобразовать ключ в формат PEM с помощью команды openssl. Например, можно преобразовать ключ из формата DER в формат PEM.

$ openssl rsa -in yourdomain.der -inform DER -out yourdomain.key -outform PEM

В противном случае для преобразования сертификата в формат PEM можно использовать средство SSL Converter. Дополнительные сведения см. в документации по средству SSL Converter.

Неотвечающая установка после отправки ключа

Если your GitHub Enterprise Server instance не отвечает после отправки ключа TLS, обратитесь в службу поддержки GitHub Enterprise с конкретными сведениями, включая копию сертификата TLS. Убедитесь, что закрытый ключ не включен.

Ошибки допустимости сертификата

Такие клиенты, как веб-браузеры и Git командной строки, будут отображать сообщение об ошибке, если они не могут проверить допустимость сертификата TLS. Это часто происходит с самозаверяющими сертификатами, а также со связанными по цепочке корневыми сертификатами, выданными из промежуточного корневого сертификата, который не распознается клиентом.

Если вы используете сертификат, подписанный центром сертификации (ЦС), файл сертификата, отправляемый в GitHub Enterprise Server, должен включать цепочку сертификатов с корневым сертификатом этого ЦС. Чтобы создать такой файл, присоедините всю цепочку сертификатов (или "пакет сертификатов") к концу сертификата. При этом первым должен быть сертификат субъекта с именем узла. В большинстве систем это можно сделать с помощью следующей команды:

$ cat yourdomain.com.crt bundle-certificates.crt > yourdomain.combined.crt

Вы должны иметь возможность скачать пакет сертификатов (например, bundle-certificates.crt) из центра сертификации или поставщика TLS.

Установка самозаверяющих или недоверенных корневых сертификатов центра сертификации (ЦС)

Если устройство GitHub Enterprise Server взаимодействует с другими компьютерами в сети, которые используют самозаверяющий или недоверенный сертификат, необходимо импортировать корневой сертификат ЦС для подписи в системное хранилище сертификатов, чтобы получить доступ к этим системам по протоколу HTTPS.

  1. Получите корневой сертификат ЦС из локального центра сертификации и проверьте, что он имеет формат PEM.
  2. Скопируйте файл на устройство GitHub Enterprise Server по протоколу SSH в качестве пользователя admin на порту 122.
    $ scp -P 122 rootCA.crt admin@HOSTNAME:/home/admin
  3. Подключитесь к административной оболочке GitHub Enterprise Server по протоколу SSH в качестве пользователя admin на порту 122.
    $ ssh -p 122 admin@HOSTNAME
  4. Импортируйте сертификат в системное хранилище сертификатов.
    $ ghe-ssl-ca-certificate-install -c rootCA.crt

Обновление сертификата TLS

Вы можете создать новый самозаверяющий сертификат или обновить существующий сертификат TLS для your GitHub Enterprise Server instance с помощью ghe-ssl-certificate-setup программы командной строки. Дополнительные сведения см. в статье "Программы командной строки".