Git: проверка сертификата сервера не удалась с помощью Bitbucket Server
У меня есть сервер Bitbucket, работающий на preprem с сертификатом. Я добавил его в хранилище ключей, используя следующие команды
openssl pkcs12 -export -in myurl.com.cer -inkey myurl.com.key -out myurl.com.p12
keytool -importkeystore -srckeystore myurl.com.p12 -srcstoretype PKCS12 -destkeystore bitbucket.jks -deststoretype JKS
Это выглядит так, если я смотрю сервер в Chrome (который выглядит хорошо):
Когда я пытаюсь клонировать репозиторий с сервера, я получаю следующую ошибку
root@BS01:~# git clone https://source.server.com/scm/p/project.git
Cloning into 'project'...
Неустранимый: невозможно получить доступ к " https://source.server.com/scm/p/project.git ": проверка сертификата сервера не удалась. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: нет
На Windows ошибка выглядит немного иначе:
фатальный: невозможно получить доступ к https://source.server.com/scm/p/project.git/: проблема с сертификатом SSL: невозможно получить сертификат локального эмитента
Когда я Google из-за этой ошибки, многие решения предлагают мне использовать сертификат CA вместо подписанного (возможно, я неправильно понял концепцию, но думал, что сертификат является сертификатом CA) или полностью отключить sslVerificaction (что неприемлемо)) Какая проблема у git с сертификатом и как это исправить?
1 ответ
На самом деле сертификат работает только на моем компьютере, мобильные устройства не доверяют ему, а если я объединю всю цепочку доверия в один файл.pem, который выглядит так:
-----BEGIN RSA PRIVATE KEY-----
KEY FROM domain.key
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
domain.crt
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Intermediate.crt
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Root.crt
-----END CERTIFICATE-----
И добавьте этот к JKS, он работает как ожидалось.
openssl pkcs12 -export -in server.pem \
-out server.p12 -name tomcat
keytool -importkeystore -srckeystore server.p12 \
-srcstoretype pkcs12 -destkeystore bitbucket.jks -deststoretype JKS