Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SourceTree and Stash: Unable to get local issuer certificate

We have Atlassian Stash installed on a Windows 2008R2 server, and for the most part everything is working nicely. We have an SSL certificate issued by our local on-premise CA and a DNS entry set up so we can go to https://stash/ and it works quite nicely, except in Firefox where it throws a warning (related?).

When using Atlassian's Sourcetree we can navigate and choose a repository, but when we try to clone it we get the following error:

fatal: unable to access https://user@url/scm/etc/etc.git: SSL certificate problem: unable to get local issuer certificate

I get the same error if I try if from the git bash as well. Based on this error, I've tried following the instructions on adding the SSL certificate to the Git as also found on their website, including what is in the comments, to no avail. I have exported the cert through Firefox and through the MMC certificate snap-in, gotten the same results and put it in its own file, combined with the curl file, and no matter what keep getting this error. I have yet to try getting it to work with SSH keys yet since I was hoping to make this easier for my team.

I also tried using ssh myserver and accepting the connection, and I entered my password and restarted; still the same error.

I do not want to simply ignore certificate validation either, since that seems a bit pointless, then.

How can I get this working with our CA-issued cert?

like image 366
squid808 Avatar asked Jul 21 '14 18:07

squid808


People also ask

How do I fix unable to get local issuer certificate?

When ssl certificate problem unable to get local issuer certificate error is caused by a self-signed certificate, the fix is to add the certificate to the trusted certificate store. Open the file ca-bundle. crt located in the directory above, then copy and paste the Git SSL certificate to the end of the file.


2 Answers

I just disabled SSL certificate checks (which is fine for internal repos):

Sourcetree >
  Preferences >
    Git >
      Disable SSL certificate validation (ticked)

enter image description here

like image 129
Bohemian Avatar answered Oct 10 '22 09:10

Bohemian


After working with a peer who had been out until today, the revelation is that I had been using ONLY the certificate for the server itself. My [faulty] understanding of all the articles was that, similar to handling self-signed certs, you just tell Git to trust this cert. This is not the case for us.

Instead, it is the Root CA Cert from our domain that I should have been exporting and telling Git to trust. I swear I tried that early last week when this all first started, but to my shame I must not have.

Let this be a warning for anyone else who find themselves in my position!

like image 19
squid808 Avatar answered Oct 10 '22 09:10

squid808