将国密根证书导入系统,是确保您的国密应用(如自建CA签发的浏览器或客户端)能被操作系统信任的关键一步。
一、前置准备
获取证书文件:确保您已获取要安装的国密根证书文件(通常为 `.crt` 或 `.cer` 格式)。
管理员权限:以下大部分操作需要您拥有系统的管理员权限。
Windows系统:导入国密根证书
在Windows系统中导入根证书,主要有两种常用的方法。
方法一:使用图形界面 (MMC) - 推荐
这是最常用的方法,通过微软管理控制台的证书管理单元进行操作,清晰直观。
1. 按下 `Win + R` 键,输入 `mmc` 并回车。
2. 在打开的MMC窗口中,点击菜单栏的 文件 添加/删除管理单元。
3. 在弹出的窗口中,从左侧“可用的管理单元”列表中找到并选中 证书,点击 添加 按钮。
4. 在“证书管理单元”页面,选择 计算机账户,点击 下一步。
5. 在“选择计算机”页面,确保选中 本地计算机(运行此控制台的计算机),点击 完成。
6. 回到“添加或删除管理单元”窗口,点击 确定。
7. 在MMC控制台左侧导航栏,展开 证书(本地计算机),然后找到并右键点击 受信任的根证书颁发机构 > 所有任务 导入。
8. 按照证书导入向导的提示,浏览并选择您的国密根证书文件,完成导入。
方法二:使用命令行 (Certutil) - 高效
该方法适合批量部署或自动化脚本场景。
1. 以管理员身份打开 命令提示符 (CMD) 或 PowerShell。
2. 执行以下命令:
bash
certutil -addstore root "C:\path\to\your\gm-root-ca.crt"
> 请务必将 `C:\path\to\your\gm-root-ca.crt` 替换为您的国密根证书文件的实际完整路径。
此命令使用 `certutil` 工具将根证书添加到“受信任的根证书颁发机构”存储区中。
验证安装结果
您可以通过 `certlm.msc` 命令快速验证证书是否已成功导入:
1. 按下 `Win + R` 键,输入 `certlm.msc` 并回车。
2. 在打开的“证书 - 本地计算机”窗口中,依次展开 **受信任的根证书颁发机构** > **证书**,在右侧列表中查找您导入的国密根证书。
二、macOS系统:导入国密根证书
在macOS中,您需要使用“钥匙串访问”程序,并将根证书导入“系统”钥匙串。与Windows类似,也分为图形界面和命令行两种方法。
方法一:使用图形界面 (钥匙串访问)
1. 通过 聚焦搜索 (⌘+Space) 或在 启动台 > 其他 文件夹中,找到并打开 钥匙串访问 应用。
2. 在钥匙串访问左侧边栏,点击选中 系统 钥匙串。您可能需要输入管理员密码以授权修改此钥匙串。
3. 拖拽您的国密根证书文件(如 `gm-root-ca.crt`)到钥匙串访问的证书列表中。
4. 找到刚导入的证书,双击打开其详情窗口。
5. 展开“信任”部分,在“使用此证书时”下拉菜单中选择“始终信任”。
6. 关闭窗口,系统会提示您输入管理员密码以确认并保存更改。
方法二:使用命令行 - 高效
该方法适合批量部署或自动化脚本场景。您可以使用macOS自带的 `security` 命令。
1. 打开 终端 (Terminal) 应用。
2. 执行以下命令即可完成导入和信任设置:
bash
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "/path/to/your/gm-root-ca.crt"
> 请务必将 `/path/to/your/gm-root-ca.crt` 替换为您的国密根证书文件的实际完整路径。
三、验证安装结果
您可以通过以下命令来验证证书是否已成功导入:
bash
security find-certificate -c "证书的通用名称" "/Library/Keychains/System.keychain"
请将 `证书的通用名称` 替换为您证书的名称(例如颁发者CN字段),来确认其已存在于系统中。
四、双重认证
1. 执行系统重启:为确保证书信任状态生效,建议在完成所有安装步骤后重启操作系统。
2. 区分证书种类:国密标准通常使用**双证书**——签名证书用于身份认证,加密证书用于密钥交换。当遇到信任问题时,请检查您的应用是否正确配置了这两类证书。通常,将签名证书的根证书导入系统信任库即可解决大部分问题。
如果以上步骤在操作中遇到问题,可以说明具体的报错信息,我来帮用户进一步排查。