SSL doğrulamasını tamamen devre dışı bırakmak gibi yöntemler çözüm olarak karşınıza çıksa da SSL doğrulamasını devre dışı bırakmanızı tavsiye etmem. Eğer reponun bulunduğu sunucu da SSL kurulu değilse yapılabilir ama günümüzde repo da ssl olmayan sunucu kalmamıştır… Bir çok siber saldırının hedefi olabilirsiniz.
Çözüm
Github sunucusundan sertifika alma adımları (Steps to get the certificate from the github server)
- Tarayıcıda erişmeye çalıştığınız github / azure / bitbucket da reponun bulunduğu URL i açın
- Adres çubuğundaki kilit simgesine basın > ‘bağlantı güvenli’ ye tıklayın (farklı tarayıcılarda ve sürümlerde farklı erişim sağlanıyor olabilir. SSL sertifikinasına erişmeye çalışıyoruz.)
- ‘Sertifika Yolu’ sekmesine gidin > sertifika hiyerarşisinde en üstteki düğümü seçin > ‘sertifikayı görüntüle’yi tıklayın (farklı tarayıcılarda ve sürümlerde farklı erişim sağlanabilir)
- Şimdi ‘Ayrıntılar’a tıklayın ve ‘Dosyaya Kopyala’ya tıklayın. > ‘İleri’ye tıklayın > ‘Base 64 kodlu X509 (.CER)’i seçin > istediğiniz herhangi bir yola kaydedin
Sertifikayı yerel git sertifika deposuna ekleme adımları
- Şimdi not defterine kaydettiğiniz Base 64 kodlu X509 (.CER)’ sertifikayı açın ve içeriği –Begin Certificate– ve –end Certificate– ile birlikte kopyalayın.
- Git’iniz için tüm sertifikaların saklandığı yolu bulmak için cmd’de ya da powershell de aşağıdaki komutu yürütün.
git config --list
- ‘http.sslcainfo’ anahtarını kontrol edin, karşılık gelen değer yol olacaktır. Sizin bilgisayarda da C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt şu dizinde olması muhtemeldir. Ama yine de komutu çalıştırıp emin olun
Not: Ayrıca visual studio kurulumunun olduğu dizinde crt dosyasını güncellemeniz gerekebilir. Yolu C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw64\ssl\certs
Not:
http.sslcainfo anahtarını bulamıyorsanız Git’in varsayılan yolunu kontrol edin: C:\Program Files\Git\mingw64\ssl\certs
- Şimdi bu yolda bulunan ‘ca-bundle.crt’ dosyasını açın.
Not 1
Bu dosyayı yönetici olarak notepad ile açın, aksi takdirde güncellemeden sonra kaydedemezsiniz. (bu tarz işlemler i için Notepad++ kullanabilirsiniz)
Not 2
Bu dosyayı değiştirmeden önce kesinlikle farklı bir yerde yedeğini alın.
- Şimdi, diğer sertifikaların ca-bundle.crt’ye nasıl yerleştirildiği gibi, 1. adımda indirdiğiniz dosyanın içeriğini 3. adımda bulduğunuz local git sertifika listesinde ki sertifika dosyasının sonuna yapıştırın kayıt edin.
- Şimdi yeni bir terminal açın ya da visual studio yada visual studio code u yeniden başlatın.
- Artık git sunucusu ile ilgili işlemleri https kullanarak gerçekleştirebilmelisiniz. Ben git clone komutunu çalıştıramıyordum. Yukarıda ki adımları uyguladım. Ve sonuç başarılı. Sunucu ile iletişimim artık ssl sertifikası kullanarak gerçekleşiyor.