我已将 NSS 3.12.4 配置为在 FIPS 模式下使用 SunPKCS11 提供程序与我的 java 程序一起工作,并且一切正常。现在我按照 https://blogs.oracle.com/meena/entry/what_s_new_in_nss1 中提到的步骤使 NSS 作为共享数据库工作。
当我在共享数据库模式下配置 NSS 时,secmod.db 文件按预期替换为 pkcs11.txt。但是现在 SunPKCS11 初始化失败,因为在初始化过程中似乎会检查 secmod.db。我也试过在 configDir 前面加上 sql: 前缀,但这也不起作用。
我收到以下异常。
Caused by: java.io.FileNotFoundException: /etc/nss/secmod.db
at sun.security.pkcs11.Secmod.initialize(Secmod.java:181)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:179)
任何人都尝试过 NSS 与 java 共享数据库或任何解决此问题的方法?
最佳答案
为了让它为我工作,我采取了两个额外的步骤。
通过这两个更改,我现在有一个使用 NSS 加载 key 的服务器端进程。