将新的客户端证书添加到 NSS 数据库
Add new client certificate to NSS db
我在 CentOS 上工作,我有 NSS 3.19.1
我正在尝试将带有 rsa 私钥的客户端证书添加到 NSS 数据库。
我在 /etc/pki/nssdb
内部工作,它包含以下内容:
cert8.db
cert9.db
key3.db
key4.db
pkcs11.txt
secmod.db
我知道 cert8
、key3
和 secmod
是数据库的旧格式。
但是无论我 运行 命令是什么,我都会得到:
SEC_ERROR_BAD_DATABASE
或
SEC_ERROR_LEGACY_DATABASE
我以为我有包含 cert9、key4 和 pkcs11 文件的更新数据库。
谁能帮忙解决这个问题?
- 如果
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
接受一个 目录 作为适当的值。不要深入到文件本身。
- 如果这也失败,请检查您对文件
secmod.db
的许可。就我而言,它失败了,因为我没有写权限。 运行 因为 root
chown
可能会解决它。
所以,试试这个:
sudo -s
chown your_user_name /the/secmod/dir/secmod.db
然后,尝试添加模块和运行一个modutil -list
检查是否添加。
最后,将您的证书添加到其中。它会起作用。 db文件的扩展名无关。
我在 CentOS 上工作,我有 NSS 3.19.1
我正在尝试将带有 rsa 私钥的客户端证书添加到 NSS 数据库。
我在 /etc/pki/nssdb
内部工作,它包含以下内容:
cert8.db
cert9.db
key3.db
key4.db
pkcs11.txt
secmod.db
我知道 cert8
、key3
和 secmod
是数据库的旧格式。
但是无论我 运行 命令是什么,我都会得到:
SEC_ERROR_BAD_DATABASE
或
SEC_ERROR_LEGACY_DATABASE
我以为我有包含 cert9、key4 和 pkcs11 文件的更新数据库。
谁能帮忙解决这个问题?
- 如果
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
接受一个 目录 作为适当的值。不要深入到文件本身。
- 如果这也失败,请检查您对文件
secmod.db
的许可。就我而言,它失败了,因为我没有写权限。 运行 因为root
chown
可能会解决它。
所以,试试这个:
sudo -s
chown your_user_name /the/secmod/dir/secmod.db
然后,尝试添加模块和运行一个
modutil -list
检查是否添加。最后,将您的证书添加到其中。它会起作用。 db文件的扩展名无关。