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

Ubuntu 22.04下如何在Firefox与Okular间共享证书?

解决方案:Snap版Firefox与Okular共享证书

一、直接复制证书文件的可行性

可以复制,但需注意操作细节:

  • Firefox的NSS数据库核心文件为cert9.db、key4.db和pkcs11.txt,存放在~/snap/firefox/common/.mozilla/firefox/<你的profileID>.default/目录下(<你的profileID>是一串随机字符,可通过ls ~/snap/firefox/common/.mozilla/firefox/找到带.default后缀的文件夹)。
  • 操作步骤:
    1. 完全关闭Firefox和Okular,避免文件被进程锁定。
    2. 复制核心文件到Okular的NSS数据库目录:
      cp ~/snap/firefox/common/.mozilla/firefox/<profileID>.default/{cert9.db,key4.db,pkcs11.txt} ~/snap/okular/common/.pki/nssdb/
      
    3. 调整文件权限,确保仅当前用户可访问:
      chmod 600 ~/snap/okular/common/.pki/nssdb/*
      
  • 缺点:后续Firefox更新证书(新增/删除/更新)时,Okular不会自动同步,需重复上述复制操作。

二、更优方案:统一使用系统级NSS数据库

通过将证书导入系统默认的NSS数据库,实现Firefox和Okular的证书同步,无需手动复制:

  1. 导出Firefox中的个人证书
    打开Firefox → 设置 → 隐私与安全 → 证书 → 查看证书 → 切换到“你的证书”标签 → 选中目标证书 → 点击“导出”,选择PKCS#12格式(.p12),设置导出密码并保存文件。

  2. 导入到系统NSS数据库

    • 图形化方式(推荐):安装seahorse(密码和密钥管理工具),打开后点击“文件”→“导入”,选择刚才导出的.p12文件,输入密码完成导入。
    • 命令行方式:先安装依赖工具sudo apt install libnss3-tools,然后执行:
      # 创建临时密码文件(避免明文输入)
      echo "你的导出密码" > /tmp/pass.txt
      # 导入证书到系统NSS数据库
      certutil -d sql:~/.pki/nssdb -A -t "u,u,u" -n "证书显示名称" -i /path/to/你的证书.p12 -f /tmp/pass.txt
      # 删除临时密码文件
      rm /tmp/pass.txt
      
  3. 配置Firefox使用系统证书存储
    打开Firefox → 设置 → 隐私与安全 → 证书 → 勾选“使用系统证书存储”,这样Firefox会直接读取系统NSS数据库的证书,无需单独维护。

  4. 验证Okular访问系统证书
    Snap版Okular默认有权限访问~/.pki/nssdb,重启Okular后即可读取系统中的个人证书,后续证书更新只需在系统层面操作,Firefox和Okular会自动同步。

内容的提问来源于stack exchange,提问作者gcerar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:10:58