用户首先需要注意的是,Chrome  等主流浏览器并没有一个名为  `#enable-gmssl`  的通用实验性标志来开启国密支持。网传的该标志,很可能源自一些厂商基于  Chromium  开发的国产浏览器定制版本。

因此,Chrome  对国密证书的兼容,目前主要依赖将根证书导入到操作系统的信任存储区,并且这可能仍受限于操作系统和  Chrome  自身对国密协议栈的支持程度。下面是具体的操作步骤,主要分为三个核心环节。

1.  获取国密根证书

你需要从提供服务的国密CA机构的官方网站下载其根证书。常见的CA机构包括CFCA(中国金融认证中心)、GDCA(广东数字证书认证中心)等。证书文件常见的格式有  `.crt`、`.pem`、`.cer`  等。

2.  将根证书导入系统信任存储区(操作系统级)

对于非国产化操作系统的Chrome来说,这一步是核心。**Chrome  在  Windows  和  macOS  上使用的是操作系统的证书存储区。

Windows  系统

1.    在  Chrome  地址栏输入  `chrome://settings/security`,点击“管理证书”,或在  Windows  开始菜单搜索“管理计算机证书”。

2.    在证书管理器中,右键点击  “受信任的根证书颁发机构”  文件夹,选择“所有任务”  >  “导入”。

3.    在导入向导中,点击“浏览”选择你的国密根证书文件。

4.    在“证书存储”步骤,务必选择  “将所有的证书都放入下列存储”,并浏览选择  “受信任的根证书颁发机构”。

5.    按向导完成导入,必要时重启浏览器。

macOS  系统

1.    在访达的“应用程序”  >  “实用工具”中打开  “钥匙串访问”。

2.    在左侧边栏选择  “系统”  钥匙串。

3.    将你的国密根证书文件(如  `.crt`  或  `.pem`)直接拖拽到钥匙串列表中,或通过菜单栏“文件”  >  “导入项目”来添加。

4.    导入后,在列表中找到它并双击打开。在“信任”部分,将  “安全套接字层  (SSL)”  和  “X.509  基本策略”  都设置为  “始终信任”。关闭窗口时,系统会提示你输入密码保存更改。

Linux  系统

这通常需要通过命令行工具  `certutil`  来完成。

1.    确保已安装  `libnss3-tools`  包(Debian/Ubuntu)或  `nss-tools`(Red  Hat/Fedora/CentOS)。

2.    打开终端,使用  `certutil`  命令将证书(必须为  DER  格式)导入到  Chrome  使用的  NSS  数据库中。

        bash

        #  找到  Chrome  的  Profile  目录,通常是  ~/.pki/nssdb/

        certutil  -d  sql:$HOME/.pki/nssdb  -A  -t  "C,,"  -n  "给你的根证书起个名字"  -i  你的国密根证书.der

        或者,也可以将证书(PEM格式)添加到  `/usr/local/share/ca-certificates/`  目录,然后运行  `sudo  update-ca-certificates`  命令进行系统级信任,具体效果视浏览器配置而定。

3.  验证与可能需要的其他配置

证书导入后,可以通过以下方式验证:

      地址栏安全标识:访问国密HTTPS网站,地址栏应显示🔒锁形图标,且无“不安全连接”或“证书无效”等警告。注意,这可能只是表明连接使用了证书,而并非意味着国密协议套件协商成功。

      关于实验性标志的真实情况:请再次注意,Chrome  不存在通用的  `#enable-gmssl`  标志。

      其他备选方案:如果以上步骤后访问仍提示“ERR_CERT_AUTHORITY_INVALID”,可以尝试在Chrome启动时添加临时命令行参数  `--force-fieldtrials=RSAKeyUsageForLocalAnchors/DisabledLaunch`  来绕过部分安全限制。但这并非长久之计,且会降低浏览器安全性。

疑难排查

如果导入证书后浏览器仍不信任,常见的原因和解决办法如下:

      确认证书链完整性:请确保已正确安装并信任了整个信任链上的**所有证书,而不仅仅是网站证书。

      重启是关键:完成证书导入后,务必彻底关闭并重新启动Chrome,新的证书信任设置才会生效。

      检查导入位置:请再次确认,你的根证书已被准确无误地导入到  “受信任的根证书颁发机构”  文件夹,而不是任何其他存储区。

      文件格式问题:如果你的证书文件不能被识别,可以尝试使用  OpenSSL  等工具将其转换为  `.crt`  或  `.pem`  等常见格式。

      管理员权限:在  Windows  系统上,向“受信任的根证书颁发机构”存储区导入证书需要管理员权限。如果遇到导入失败或灰色按钮,请以管理员身份运行  certmgr.msc。

总结

通过以上步骤,你就能在Chrome上手动完成国密根证书的导入配置。这并非开启一个隐藏开关那么简单,核心在于将国密根证书置入操作系统级的“信任列表”中,由浏览器使用它来验证站点证书的有效性。如果过程遇到问题,随时可以回来参考上面的排查建议。