Мне не удается заставить работать PKCS # 11 и PAM, по какой-то причине nss перестал работать и Я не могу создать новую базу данных.
Вот результат работы 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
После проверки всех моих конфигураций и инструкций я погуглил и нашел следующее: certutil: function failed: security library: плохая база данных
Это напомнило мне, что я, вероятно, никогда не создавал новую базу данных nss. (что, как я думал, будет выполнено автоматически?)
Но при попытке создать новую базу данных я получил следующее:
# 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
Мне, наверное, стоит пойти домой и поесть или что-то в этом роде.
Забыл создать папку nssdb
(да, это папка, а не файл .. который так четко сказано на каждом форуме, который Google придумал во время моей отладки).
Я должен это знать.
# mkdir -p /etc/pam_pkcs11/nssdb
# chmod 700 /etc/pam_pkcs11/nssdb
# certutil -d /etc/pam_pkcs11/nssdb -N
Также обратите внимание, что при использовании NSS с PAM, особенно в старых системах.
Никогда не используйте sql:
стиль базы данных nss.