Я разрабатываю это приложение для специального использования с Firefox (для внутреннего использования). По сути, мы используем материал sun.security для чтения хранилища ключей Firefox и подписывания данных с помощью сертификатов, которые мы получаем.
Я проверил это на нескольких машинах, и результаты меняются, я не могу точно определить причину.
Я протестировал его в последней версии Ubuntu, Firefox 3.6.13, используя Java версии 1.6.0_22, он работает там. У меня также есть ноутбук с Windows XP с той же версией Firefox, использующий версию Java 1.6.0_17, где он также работает.
Есть 2 других ноутбука с Windows XP, на которых он не будет работать, с той же ошибкой. Они работают с той же версией Firefox и используют версию Java 1.6.0_17.
Ошибка:
java.security.ProviderException: Could not initialize NSS
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:183)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:86)
at SignedMessage.SigningApplet.initializeCrypto(SigningApplet.java:327)
at SignedMessage.SigningApplet.init(SigningApplet.java:84)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The specified procedure could not be found.
at sun.security.pkcs11.Secmod.nssLoadLibrary(Native Method)
at sun.security.pkcs11.Secmod.initialize(Secmod.java:186)
at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:179)
... 5 more
Exception: java.security.ProviderException: Could not initialize NSS
Из того, что я могу сказать, он не может найти нативную процедуру nssLoadLibrary? Файл конфигурации указывает его в каталог установки Firefox (где он может получить файл nss3.dll или libnss3.so). Он делает это на всех компьютерах, и все пути в конфигурации кажутся действительными.
Пример файла конфигурации, для чего он стоит:
name=NSS
nssDbMode=readOnly
nssModule=keystore
nssSecmodDirectory="C:\\Documents and Settings\\user\\Application Data\\Mozilla\\firefox\\Profiles/8bzd2qqm.default"
nssLibraryDirectory=C:\Program Files\Mozilla Firefox
Я надеялся, что кто-нибудь найдет подсказку или, возможно, несколько советов о том, как продолжить отладку. Я в недоумении.