Sertifikalı onprem çalışan bir Bitbucket sunucum var. Aşağıdaki komutları kullanarak anahtar deposuna ekledim

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

Sunucuyu Chrome'da görüntülersem (ki bu iyi görünüyor):

resim açıklamasını buraya girin

Sunucudan bir Depoyu klonlamayı denediğimde Aşağıdaki Hatayı alıyorum

[email protected]:~# git clone https://source.server.com/scm/p/project.git
Cloning into 'project'...

fatal: unable to access 'https://source.server.com/scm/p/project.git': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

Windows'ta hata biraz farklı görünüyor:

fatal: unable to access 'https://source.server.com/scm/p/project.git/': SSL certificate problem: unable to get local issuer certificate

Bu hata için Google'a girdiğimde, birçok çözüm, kendinden imzalı bir sertifika yerine bir CA Sertifikası kullanmam gerektiğini (Belki kavramı yanlış anladım ama Sertifikanın bir CA Sertifikası olduğunu düşündüm) veya sslVerificaction'ı tamamen devre dışı bırakmamı (ki bu kabul edilemez) önerir. ) Git'in sertifikayla ne sorunu var ve bunu nasıl düzeltebilirim?

answer

Sertifika sadece Bilgisayarımda gayet iyi, Mobil Cihazlar da buna güvenmiyordu - eğer tüm güven zincirini şuna benzeyen tek bir .pem dosyasında birleştirirsem:

-----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-----

Ve bunu beklendiği gibi çalıştığı jks'ye ekleyin.

openssl pkcs12 -export -in server.pem \
    -out server.p12 -name  tomcat
keytool -importkeystore -srckeystore server.p12 \
    -srcstoretype pkcs12 -destkeystore bitbucket.jks -deststoretype JKS