You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Manjaro系统添加可信CA证书失败求助

Manjaro系统添加可信CA证书失败求助

我之前在Manjaro上折腾自签CA证书的时候也踩过一模一样的坑!别慌,咱们先理清楚问题出在哪,再一步步解决。

首先看你做的操作:把证书放到/etc/ca-certificates/trust-source/anchors/、执行trust extract-compat和update-ca-trust extract,这些步骤其实都是对的——这是Arch系(包括Manjaro)添加用户信任CA的标准流程。那为啥openssl verify pets.crt还会报自签错误?

核心原因

openssl verify默认直接验证单张证书时,不会自动去读取系统的信任库。自签证书本身没有上级CA签名,所以单独验证它肯定会报错,哪怕你已经把它加到系统信任链里了。

解决方法

方法一:验证时指定系统信任库

Manjaro的系统合并后CA证书文件在/etc/ssl/certs/ca-certificates.crt,你可以用这个文件作为信任源来验证:

openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt pets.crt

这样应该就能得到验证通过的结果了,因为这个文件里已经包含了你刚添加的pets.crt。

方法二:确认证书已被系统正确信任

先检查证书是否真的被导入到系统信任列表里:

trust list | grep api.pets.kruts.net

如果能输出包含CN = api.pets.kruts.net的内容,说明导入成功了。这时候其实你用浏览器、curl等工具访问这个域名的服务时,应该已经不会出现证书错误了——刚才的openssl报错只是单独验证证书的问题,不影响实际使用。

额外排查点

如果上面的方法还是不行,你可以检查这两个细节:

  • 证书格式:确保pets.crt是PEM格式(文件内容开头是-----BEGIN CERTIFICATE-----)。如果是DER格式,先转成PEM:
    openssl x509 -inform der -in pets.crt -out pets.pem
    
    再把pets.pem放到anchors目录重新执行提取命令。
  • 文件权限:证书放到anchors目录后,权限需要是644,不然系统可能读不到:
    sudo chmod 644 /etc/ca-certificates/trust-source/anchors/pets.crt
    
    然后重新执行:
    sudo trust extract-compat
    sudo update-ca-trust extract
    

备注:内容来源于stack exchange,提问作者k k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:59:05