The company I work at has started to overwrite SSL certificates with their own self issued one so that they can monitor traffic to the internet more closely. They also installed the corresponding CA to the certificate store. When this occurred various applications stopped working since the certificate that is being sent back from the network is not a trusted CA for that program.
Why do some programs (like Chrome and IE) work, and some (Firefox, NPM, GIT) don't?
Is this the right way to do all this?
I am wondering if telling every program to use this CA is the way to handle this problem. Seems very annoying to have to let every program know that a CA is ok.
The main question is:
Given that a corporation is overriding SSL certificates, what is the best way to get things working again when they do not rely on the OS level Certificate store?
- Would it be to tell IT not to override SSL certificates to these services/site?
- Would it be to use a proxy?
- Would it be to do what I am doing and tell every program to allow the overridden SSL certificate?
So this is what I have done to get various programs working:
To get the Certificate so that you can import to other programs:
1. Open Certificates by running ”certmgr.msc” in cmd
2. Go to “Trusted Root Certification Authorities” > “Certificates”
3. Right click internet > Export
4. Select “Base-64 encoded X.509 (.CER)”
5. Save to c:/temp/internet.cer
To get Firefox working:
1. In the address bar, enter “about:preferences#privacy”
2. “View Certificates” > “Authorities” > “Import”
3. Select “c:/temp/internet.cer”
4. Select the trust type of “Trust this CA to identify websites”, then click “Ok”
To get GIT working:
1. Open Cmd as admin
2. git config --global http.sslCAInfo “c:/temp/internet.cer”
Do not run git config http.sslVerify "false"
To get NPM working:
1. Open Cmd as admin
2. npm config set cafile “c:/temp/internet.cer”
Do not run npm config set strict-ssl false
To get Bower working:
1. Open Cmd as admin
2. cd %UserProfile%
3. echo {"ca": "C:\\temp\\internet.cer","strict-ssl":false} > .bowerrc