统信uos添加系统信任证书需三步并行:一、控制中心→系统→证书管理→导入并选“系统证书”;二、命令行复制证书至/usr/local/share/ca-certificates/后执行sudo update-ca-certificates;三、用certutil或火狐esr图形界面将证书注入nss数据库(cert9.db),并勾选“网站标识”和“软件标识”,缺一不可。

通过控制中心图形界面添加系统信任证书
当您在统信UOS桌面版中访问内网系统、OA平台或自建HTTPS服务时,浏览器反复提示“您的连接不是私密连接”,而您已确认证书文件无误,问题往往出在系统未将该证书纳入全局信任链——此时需手动添加为系统级信任证书,确保所有应用(包括浏览器、Java程序、curl等)统一识别。
点击任务栏左下角「启动器」→在搜索框输入“控制中心”→单击打开。
在左侧导航栏依次点击「系统」→「证书管理」。
点击右上角「导入」按钮→在弹出窗口中定位并选中您的证书文件(支持.crt、.pem、.der格式)→点击「打开」。
系统自动识别后,弹出信任范围选项:必须选择【系统证书】,否则仅当前用户生效,Java、终端工具等仍无法识别。
点击「确定」完成导入,无需重启,立即生效。
使用命令行将证书写入系统CA信任库
适用于批量部署、脚本化运维或无图形界面的UOS服务器环境,操作直接作用于OpenSSL底层信任体系,是服务端HTTPS正常响应的基础前提。
将证书文件(如company-root.crt)复制到系统证书目录:
sudo cp company-root.crt /usr/local/share/ca-certificates/
设置严格读取权限,防止证书被篡改:
sudo chmod 644 /usr/local/share/ca-certificates/company-root.crt
执行系统级证书更新命令,强制重建信任链:
sudo update-ca-certificates
验证是否成功注册:运行ls /etc/ssl/certs/ | grep -i "company",若返回非空结果(如company-root.pem),说明证书已生成软链接并纳入系统信任库。
为Firefox/Chromium等NSS系浏览器单独注入证书
统信UOS自带的深度浏览器、Firefox ESR、Chromium均使用独立的NSS证书数据库(cert9.db),不继承系统级证书库。即使控制中心已导入,这些浏览器仍会报错——必须显式注入到其NSS沙箱中。
方法一:使用certutil命令注入用户级NSS库
确保已安装libnss3-tools:
sudo apt install libnss3-tools -y
创建用户NSS数据库(若不存在):
mkdir -p ~/.pki/nssdb && certutil -N -d sql:$HOME/.pki/nssdb
执行导入(注意替换证书路径与别名):
certutil -A -d sql:$HOME/.pki/nssdb -n "MyEnterpriseCA" -t "CT,C,C" -i /home/$USER/company-root.crt
方法二:火狐ESR图形界面导入(更直观)
启动火狐ESR→右上角三条横线→首选项→隐私与安全→滚动到底部「证书」区域→点击「查看证书」→切换至「证书颁发机构」→点击「导入」→选中证书文件→在弹出的信任设置中必须勾选“网站标识”和“软件标识”两项→点击确定→完全关闭所有火狐窗口再重新打开。
方法三:一次性注入并覆盖系统默认NSS库(高级用法)
此操作影响所有用户,需root权限:
sudo mkdir -p /usr/lib/firefox/browser/features/nssdb
sudo certutil -A -d sql:/usr/lib/firefox/browser/features/nssdb -n "GlobalCA" -t "CT,C,C" -i /usr/local/share/ca-certificates/company-root.crt
验证证书是否真正生效
第一步:检查系统证书库是否注册成功
终端执行:trust list | grep -i "company\|your-ca-name",有输出即表示已写入系统信任锚点。
第二步:测试浏览器访问
打开深度浏览器或Firefox ESR,访问使用该证书的地址(如https://intranet.company.local),页面左上角应显示锁形图标,点击可查看证书路径完整且无警告。
第三步:验证命令行工具识别能力
执行:curl -I https://intranet.company.local,返回HTTP 200且无SSL错误;再执行:openssl s_client -connect intranet.company.local:443 -servername intranet.company.local 2>/dev/null | openssl x509 -noout -text 2>/dev/null | grep "CA Issuer",应能正确解析出CA签发者信息。











