证书
Joppa 的本地证书颁发机构、每个域名的证书、mkcert 的复用以及系统信任。
证书颁发机构
首次启动时,Joppa 会为你的用户创建一个专属的证书颁发机构(CA)“Joppa local CA”,有效期 10 年。它的私钥保存在你的机器上 Joppa 的 ca/ 文件夹中,只有你可以读取。它只能为保留的本地名称签发证书(.test、.localhost、.internal、.local、.home.arpa、.example、.invalid):即使私钥被复制,也无法冒充真实网站。由旧版 Joppa 创建的 CA 没有此限制;如需更换,请删除 ca/ 文件夹,重新启动 Joppa 并信任新的 CA。
如果你已经在使用 mkcert,Joppa 会复用它的 CA($CAROOT 中的 CA,否则为 mkcert 默认位置的 CA)。这样,凡是已经接受 mkcert 的地方,也会接受 Joppa 的证书。设置 › 证书颁发机构 会显示正在使用哪一个:「Joppa」或「mkcert(共享)」。
域名证书
Joppa 会在首次连接每个域名时即时签发证书。证书覆盖该域名及其子域名(myproject.test 和 *.myproject.test),有效期 397 天,这是浏览器接受的最长期限。无需生成,也无需续期。
让系统信任 CA
只有当系统信任该 CA 时,浏览器才会显示锁形图标。首次启动时,Joppa 会立即请求批准:系统会要求输入你的密码,随后 Joppa 将 CA 加入系统的信任列表(在 macOS 上:你的登录钥匙串和你的信任设置)。如果你取消了,窗口顶部的横幅会提供 批准 按钮,点击状态栏中的 CA … 未受信任 也会打开同一个按钮。设置 › 证书颁发机构 会显示信任状态、同样的按钮(批准颁发机构)以及等效命令,如果你愿意,也可以在终端中运行一次:
| 系统 | 命令 | 检查 |
|---|---|---|
| macOS | sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "<rootCA.pem>" |
自动 |
| Linux(Debian、Ubuntu) | sudo cp <rootCA.pem> /usr/local/share/ca-certificates/joppa-rootCA.crt && sudo update-ca-certificates |
Joppa 无法检查 |
| Linux(Arch、Manjaro) | sudo cp <rootCA.pem> /etc/ca-certificates/trust-source/anchors/joppa-rootCA.crt && sudo update-ca-trust |
Joppa 无法检查 |
| Linux(Fedora) | sudo cp <rootCA.pem> /etc/pki/ca-trust/source/anchors/joppa-rootCA.crt && sudo update-ca-trust |
Joppa 无法检查 |
CA 受信任时,状态栏显示 CA Joppa 正常,否则显示 CA Joppa 未受信任(可点击:会打开 批准)。