4.3. 准备将证书加载到浏览器
在将用户证书导入到浏览器前,请确保证书和对应的私钥都是 PKCS #12
格式。有两种常见情况需要额外的准备工作:
- 证书位于 NSS 数据库中。有关如何在此情况下进行处理的详情,请参考 将 NSS 数据库中的证书和私钥导出到 PKCS #12 文件。
-
证书和私钥位于两个单独的
PEM
文件中。有关如何在此情况下进行处理的详情,请参考 将证书和私钥 PEM 文件合并到 PKCS #12 文件中。
之后,要将 PEM
格式的 CA 证书和 PKCS #12
格式的用户证书导入到浏览器中,请按照 配置浏览器来启用证书身份验证 和 使用证书作为身份管理用户来验证到身份管理 Web UI 中描述的流程。
4.3.1. 将证书和私钥从 NSS 数据库导出到 PKCS #12 文件中
流程
使用
pk12util
命令将证书从 NSS 数据库导出为PKCS12
格式。例如,将~/certdb
目录中存储的 NSS 数据库中的some_user
昵称的证书导出到~/some_user.p12
文件:$ pk12util -d
~/certdb
-o~/some_user.p12
-n some_user Enter Password or Pin for "NSS Certificate DB": Enter password for PKCS12 file: Re-enter password: pk12util: PKCS12 EXPORT SUCCESSFUL为
.p12
文件设置合适的权限:# chmod 600 ~/some_user.p12
由于
PKCS #12
文件也包含私钥,因此必须对其进行保护以防止其他用户使用该文件。否则,他们能够模拟用户。
4.3.2. 将证书和私钥 PEM 文件合并到 PKCS #12 文件中
按照以下流程,将证书和存储在单独的 PEM
文件中的对应密钥合并到 PKCS #12
文件中。
流程
将存储在
certfile.cer
中的证书和存储在certfile.key
中的密钥合并到包含证书和密钥的certfile.p12
文件中:$ openssl pkcs12 -export -in certfile.cer -inkey certfile.key -out certfile.p12