Win Ubuntu双系统 apt 证书问题 Certificate verification failed: The certificate is NOT trusted. 电脑版发表于:2022/4/28 19:30 ![ubuntu](https://img.tnblog.net/arcimg/hb/d4362a6a18e949a29eea9dcdf50612ed.jpg "ubuntu") >#Win Ubuntu双系统 apt 证书问题 Certificate verification failed: The certificate is NOT trusted. [TOC] tn2>在这之前请你尝试网上的操作,换源,刷新证书,换网等操作。 如果都不行请再看看接下来的讲解。 ## 解决办法 tn2>首先我们需要考虑是企业防火墙的问题,当你使用本地的证书去访问Https的网站时,它出去时通过防火墙检测点重写了你的证书,并且坚持点是使用的官方证书与网站,这个时候由于本地没有官方证书的支持所以Ubuntu不认可本地证书与网站进行连接。 它其实更像一种中间人攻击的方式。 所以解决办法显而易见,我只需要将根证书添加到本地证书中,这样就可以与网站进行连接了。 由于我这里是双系统,所以我们先从windows中导出根证书。 ```bash # 打开管理控制台程序 MMC.EXE ``` tn2>然后通过(`Ctrl+M`)快捷键,添加`Certificates`到`Console Root`下。 ![](https://img.tnblog.net/arcimg/hb/451cb01237694284af662a10d7282109.PNG) tn2>然后找到相对应的用户,并导出他的证书,操作如下: Trusted Root Certification Authorities ---> (右键) Find Certification ---> 输入根账户名称 ---> Find Now ---> 然后点击用户右键导出相对应的证书 ![](https://img.tnblog.net/arcimg/hb/ac59eddbed2a4526a9737178c52bc1d9.png) tn2>导出后我便得到了`computer.cer`。 然后通过`cp /mnt/<证书路径> /Home`命令将证书复制到Home目录下,然后我们通过下列命令转成我们`pem`格式,然后添加到我们的`/etc/ssl/certs/ca-certificates.crt`证书中,就解决了。 ```bash openssl x509 -inform der -in computer.cer -out computer.pem cat computer.pem >> /etc/ssl/certs/ca-certificates.crt ``` tn2>当然你可以将该证书放入到共享证书目录下面。 ```bash cp computer.pem computer.crt cp computer.crt /usr/local/share/ca-certificates/computer.crt # 更新CA证书存储 update-ca-certificates ``` tn>如果还有问题那就是防火墙问题,请调整自家的防火墙策略。 tn2>最后很感谢我同事`Jus Paolo`给我的讲解。