我在 Debian 8.5 中安装了智能卡和读卡器;它可以在 Firefox 下运行。我正在尝试在 Chrome 中激活。我跟着这些说明并得到以下结果:
> cd
> modutil -dbdir sql:.pki/nssdb/ -add "CAC Module" -libfile /usr/lib/libcackey.so
WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type
'q <enter>' to abort, or <enter> to continue:
ERROR: Failed to add module "CAC Module". Probable cause : "File not found".
但该文件确实存在
> ls -oh /usr/lib/libcackey.so
-rw-r--r-- 1 myuser 122K Sep 30 2015 /usr/lib/libcackey.so
(奇怪的是,当我用 sudo 尝试相同的命令时,它失败了,但有不同的消息,Probable cause : "Failure to load dynamic library".
)
我将 root 的所有者更改~/.pki/nssdb/pkcs11.txt
为 me,现在我收到消息:Probable cause : "Failure to load dynamic library"
以下是列表
> modutil -dbdir sql:.pki/nssdb/ -list
Listing of PKCS #11 Modules
-----------------------------------------------------------
1. NSS Internal PKCS #11 Module
slots: 2 slots attached
status: loaded
slot: NSS Internal Cryptographic Services
token: NSS Generic Crypto Services
slot: NSS User Private Key and Certificate Services
token: NSS Certificate DB
2. CAC Module
library name: /usr/lib/libcackey.so
slots: 2 slots attached
status: loaded
slot: CACKey Slot
token:
slot: CACKey Slot
token: US Government Certificates
-----------------------------------------------------------
如何安装该库?
答案1
您收到第一个错误(“找不到文件”)是因为~/.pki/nssdb/pkcs11.txt
.由于无法访问它,因此 modutil 认为它不存在。
第二个错误(“加载动态库失败”)是因为该库已经加载。请参阅模块列表中的第二个条目:“CAC Module”:“库名称:/usr/lib/libcackey.so”。所以没有其他事可做。
答案2
问题显然是 .pki/nssdb/pkcs11.txt 的所有权是 root 而不是我。更改所有权后,会出现一条错误消息,暗示动态库未加载,但一切似乎都正常运行。