Настройка сертификата TLS для сервера Github Enterprise

На моем предприятии Github, когда я устанавливаю сертификат SSL с ключом, отображается сообщение об ошибке:

«Сертификат Github ssl. Сертификат не подписан доверенным центром сертификации (ЦС) или в цепочке сертификатов отсутствуют промежуточные сертификаты подписи ЦС».

Мне выдали от нашей команды удостоверяющего центра 4 сертификата.

  1. SSL-сертификат: github.pem
  2. Набор из 3 сертификатов CA: root, subca и subca2

На моей консоли управления предприятием Github требуется 2 записи.

  1. SSL-сертификат x509
  2. Незашифрованный ключ

Я пробовал ключ github.pem один и с другой комбинацией, объединяя сертификаты CA, но он всегда терпит неудачу с одной и той же ошибкой.

Есть ли шаблон для конкатенации сертификата?

Любая подсказка, как я могу решить это?

Заранее спасибо.


person Biju    schedule 07.07.2017    source источник
comment
Опубликуйте URL-адрес, который вы используете для подключения к серверу, и опубликуйте вывод openssl s_client -connect <hostname>:<port> -tls1 -servername <hostname> | openssl x509 -text -noout. Для этого добавьте его к своему вопросу, нажав Изменить (и не публикуйте его как комментарий). В противном случае мы не сможем воспроизвести его, и для устранения неполадок недостаточно информации.   -  person jww    schedule 08.07.2017
comment
с той же проблемой. Вы решили это?   -  person Drazen    schedule 21.08.2017


Ответы (2)


Чтобы добавить 3 сертификата в файл .pem, выполните следующие действия:

  1. Откройте pem-файл сертификата домена в Notepad++.
  2. Добавьте промежуточный сертификат (DigiCertCA2.pem) в сертификат домена.
  3. Добавьте корневой сертификат (TrustedRoot.pem) в сертификат домена.
  4. Сохраните файл .pem со следующими 3 сертификатами (домен, промежуточный, корневой).
  5. Загрузите измененный файл certificate.pem и закрытый ключ.
  6. нажмите Сохранить настройки.
person Omar Khaled    schedule 21.08.2019
comment
спас мой день. Спасибо, - person Krishan Kant; 06.08.2020

Я была такая же проблема. При попытке загрузить файлы PEM и Key в GitHub Enterprise я получил такое же сообщение. Сертификат был создан с использованием тех же методов, что и раньше, но с ошибкой.

Github ssl cert Сертификат не подписан доверенным центром сертификации (ЦС) или в цепочке сертификатов отсутствуют промежуточные сертификаты подписи ЦС.

Шаги, которые я предпринял:

  1. Создал сертификат для сервера (веб-сервер с закрытым ключом)
  2. Экспортировано из личного хранилища моих пользователей (PFX, включая все сертификаты в пути и экспорт всех расширенных свойств)
  3. C:\OpenSSL-Win64\bin> openssl.exe pkcs12 -in git_key_included.pfx -nocerts -out priv-key.pem -nodes
  4. C:\OpenSSL-Win64\bin> openssl.exe pkcs12 -in git_key_included.pfx -nokeys -out cert.pem
  5. C:\OpenSSL-Win64\bin> openssl rsa -in priv-key.pem -out server.key

В конце концов я понял это, открыв PEM с помощью Notepad ++. Команды openssl отлично работают со старым экспортированным сертификатом, но меняют порядок сертификатов на новом экспортированном сертификате. Сломанный сертификат имел:

Основной SSL-сертификат Корневой сертификат Промежуточный сертификат

Вместо правильного заказа:

Основной сертификат SSL Промежуточный сертификат Корневой сертификат

Поэтому я поменял их местами и все заработало.

person jok5r    schedule 30.08.2017
comment
Спасибо !!!! Я продвигаю этот ответ как лучший (поэтому я поменял их местами, и это сработало. Это решение). - person Alix Lourme; 14.02.2018