【问题标题】:Add new client certificate to NSS db将新的客户端证书添加到 NSS 数据库
【发布时间】:2016-06-21 23:15:14
【问题描述】:

我正在开发 CentOS,我有 NSS 3.19.1

我正在尝试将带有 rsa 私钥的客户端证书添加到 NSS 数据库。

我在/etc/pki/nssdb 内部工作,它包含以下内容:

cert8.db
cert9.db
key3.db
key4.db
pkcs11.txt
secmod.db

我知道cert8key3secmod 是数据库的旧格式。

但是无论我运行什么命令,我都会得到:

SEC_ERROR_BAD_DATABASE

SEC_ERROR_LEGACY_DATABASE

我以为我拥有包含 cert9、key4 和 pkcs11 文件的更新数据库。

谁能帮助解决这个问题?

【问题讨论】:

    标签: ssl ssl-certificate mozilla nss


    【解决方案1】:
    1. 如果secmod.db 没有包含任何模块,SEC_ERROR_LEGACY_DATABASE 也会出现。这非常棘手,因为错误消息与真正原因无关。我认为这是一个错误。

    所以,首先向secmod.db 添加一个模块。

    modutil -add "some name" -libfile some_so_file_to_load -dbdir "/the/dir/where/the/secmod/is/located/" -secmod secmod.db
    

    -dbdir 接受一个 directory 作为适当的值。不要深入到文件本身。

    1. 如果这也失败了,请检查您对文件secmod.db 的权限。就我而言,它失败了,因为我没有写权限。 root运行chown 可能会解决此问题。

    那么,试试这个:

    sudo -s
    chown your_user_name /the/secmod/dir/secmod.db
    
    1. 然后,尝试添加模块并运行modutil -list 以检查是否已添加。

    2. 最后,将您的证书添加到其中。它会起作用的。 db文件的扩展名无关。

    【讨论】:

      猜你喜欢
      • 2017-10-18
      • 2015-10-26
      • 2012-09-06
      • 2013-03-24
      • 1970-01-01
      • 2020-03-04
      • 1970-01-01
      相关资源
      最近更新 更多