pkcs11_lib – NSS初始化失败(错误的数据库?)

我无法使PKCS#11和PAM工作,无论出于何种原因, nss停止工作,我无法创build新的数据库。

以下是PKCS11和NSS的输出:

DEBUG:pkcs11_lib.c:187: Initializing NSS ... DEBUG:pkcs11_lib.c:197: Initializing NSS ... database=/etc/pam_pkcs11/nssdb DEBUG:pkcs11_lib.c:206: NSS_Initialize failed: (null) ERROR:pam_pkcs11.c:250: Failed to initialize crypto 

检查我的所有configuration和如何search后,发现: certutil:function failed:security library:bad database

这提醒我,我可能从来没有创build一个新的数据库。 (但是,我认为会自动完成?)

但是,当试图创build一个新的数据库,我得到以下内容:

 # certutil -d /etc/pam_pkcs11/nssdb -N certutil: function failed: SEC_ERROR_LEGACY_DATABASE: The certificate/key database is in an old, unsupported format. 

所以我做了一些挖掘和尝试:

 # certutil -d sql:/etc/pam_pkcs11/nssdb -N certutil: function failed: SEC_ERROR_BAD_DATABASE: security library: bad database. 

系统: Fedora 21(这是最新的)
NSS: nss-tools-3.20.1-1.0 + nss-3.20.1-1.0
PAM: pam_pkcs11-0.6.8-6
OpenSC: opensc-0.14.0-2
OpenSSL: openssl-1.0.1k-12
SqlLite: sqlite-3.8.11.1-1

我应该回家吃点东西。

忘了创build文件夹nssdb (是的,这是一个文件夹,而不是一个文件..这是在每个论坛谷歌在我的debugging过程中清楚地陈述)。

我应该知道这一点。

 # mkdir -p /etc/pam_pkcs11/nssdb # chmod 700 /etc/pam_pkcs11/nssdb # certutil -d /etc/pam_pkcs11/nssdb -N 

还要注意,在PAM中使用NSS时,特别是在较旧的系统上。
切勿使用sql: style nss数据库。