一、添加到受信任列表1.1 通用信任列表把证书放到/usr/local/share/ca-certificates/目录下,然后执行:
但是没什么用处,大部分命令都不会用这个列表。有些系统可能都不存在这个命令,不存在的话继续走下面的方案。
1.2 centos系统centos的根证书信任链在/etc/pki/tls/certs/ca-bundle.crt,只要把我们自定义的根证书追加到这个文件即可信任根证书:
cat rootca.pem >> /etc/pki/tls/certs/ca-bundle.crt
默认情况下是不可写的,需要先添加上写权限。
以下操作需要以管理员身份执行,或者通过sudo执行。
chmod +w /etc/pki/tls/certs/ca-bundle.crt
注意事项
追加到ca-bundle.crt的证书必须是pem格式的,pem格式的证书内容是一串ascii编码的内容。用记事本可以直接打开,内容格式为:
-----BEGIN CERTIFICATE-----
MIIEozCCBAygAwIBAgIJAIkKM/OEESv3MA0GCSqGSIb3DQEBBQUAMIHnMQswCQYD
VQQGEwJVUzEXMBUGA1UECBMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAcTFlZlcmlT
aWduIFRydXN0IE5ldHdvcmsxNTAzBgNVBAoTLFRlcm1zIG9mIHVzZSBhdCBodHRw
czovL3d3dy52ZXJpc2lnbi5jb20vcnBhMTUwMwYDVQQLEyxUZXJtcyBvZiB1c2Ug
YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYTEwMC4GA1UEAxMnVmVyaVNp
bi5jb20vcnBhMTAwLgYDVQQDEydWZXJpU2lnbiBDbGFzcyAxIEV4dGVuZGVkIFZh
bGlkYXRpb24gQ0GCCQCJCjPzhBEr9zAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEB
BQUAA4GBADw0WLUfpyqtERJTHZfanTWPaEfWyVNDM5T/GRv3ov7buCCtxO7zV3in
otgUgl+vsfMW5hy8607ppPM7YWTMUV36N6mVAOGPtntf8HdlbH7MLr+PiAjBspkw
HGWHw5+FYqoBWPALLEi3d7LGHnF/qJchkjttwqakSS0u+sWQIqYD
-----END CERTIFICATE-----
一般使用的crt格式的证书一般是der格式,二进制的,使用记事本打开是一堆乱码,这种格式的证书要先转成.pem格式的。
openssl x509 -in rootca.crt -inform der -outform pem -out rootca.pem
参数说明:
-inform der:证书的原格式为der格式,即二进制格式
-outform pem:转换之后的格式为pem,即ascii内容形式
-out rootca.pem:转换时候输出的文件
rootca.pem是我们最终希望得到的文件,把这一串加到ca-bundle.crt末尾即可。
深信服早期AC设备的ssl根证书是二进制的,也需要进行转换一次才能追加到证书链中。
1.3 ubuntu系统ubuntu系统的根证书链在/etc/ssl/certs/ca-certificates.crt,ubuntu除了根证书文件路径和centos不一样以外,其他操作都一样,效果也一样。
1.4 支持的命令1.2和1.3支持的命令:
其他不支持的命令参考下面的操作方法来消除告警。
图形化界面chrome和firefox消除告警直接看第三节。
二、常见命令去除ssl告警的办法很多命令不适用系统的根证书列表,需要单独操作添加参数或者修改配置实现。
2.1 curl现象
临时解决方法
添加参数--insecure
永久生效方案
参考1.2和1.3。
2.2 git现象
临时解决方法
添加参数:-c http.sslVerify=false
永久生效方案一
参考1.2和1.3。
永久生效方案二
git config --global http.sslVerify false
或者在~/.gitconfig中添加:
2.3. wget现象
临时解决方法
添加参数:--no-check-certificate
永久生效方案
参考1.2和1.3。
2.4 pip临时解决方法
添加参数:--trusted-host xx.xx.com
永久生效方案一
参考1.2和1.3。
永久生效方案二
参考1.2和1.3中的方法。
或者在~/.pip/pip.conf添加以下内容:
trusted-host=pypi.org files.pythonhosted.org pypi.python.org
不同版本可能域名不同,如果添加以上配置后还是不行,使用下面的方式解决。
执行pip install xxxx,然后等到错误信息执行完,把域名加到配置中去:
注意域名用空格隔开,只要域名部分不要路径。
2.5 npmnpm是nodejs的包安装工具。
永久解决方法
执行:
npm config set strict-ssl false
注意strict-ssl两端不要加引号,即不要使用npm config set ‘strict-ssl’ false形式。
或者在~/.npmrc中添加:
确认是否生效:
2.5 vuevue create -p dcloudio/uni-preset-vue my-project
解决方案
执行vue命令时,在前面加上npm_config_strict_ssl=false,如:
npm_config_strict_ssl=false vue create -p dcloudio/uni-preset-vue my-project
暂时没有找到能永久生效的方法。也可以使用规避方案,先把代码clone到本地,然后离线初始化和安装:
git clone https://github.com/vuejs-templates/webpack ~/.vue-templates/webpack
vue-init --offline webpack nongcaiyuan-front
2.6 apt-get/yum这两个命令分别是ubuntu和centos系统下更新、安装软件包使用的命令。1.2和1.3可以解决这两个命令的告警。
2.7 docker使用1.2和1.3中的方法,然后重启一下docker服务即可。
三、chrome和firefox消除告警的方法3.1 chrome点击右上角的选项,然后选择Settings:
弹出的页面中点击左上角的按钮弹出详细的配置界面:
依次点击Advanced - Privacy and security:
往下滑,找到Manage cerificates:
切换到Authorities,点击import,选择设备的根证书导入:
勾上三个选项框,点击OK:
3.2 firefox点击右上角的选项,选择Preferences,
切换到安全的tab页面,下滑到Certificats部分,选择View certificates:
在Authorities栏导入根证书:
弹框中,勾上两个选项,点击OK:
四、jetbrains全家桶适用于jetbrains公司出品的所有IDE环境,如idea/webstrom/clion/golang/pycharm/datagrip等。
现象:
或者:
解决方案:
先试用软件,试用后会进入到软件首页:
中途可能会弹出一下界面,选择Accept接受新证书:
然后在设置页面(左上角File - Setting - Tools - Server Certificates)添加我们的根证书:
然后应用,退出。重新使用账号激活软件: