SunPKCS11 стеклянная рыба - PullRequest
1 голос
/ 15 марта 2010

У меня есть приложение, которое нормально работает на tomcat 6.20, я использую в своем приложении устройство чтения смарт-карт A3. Все выглядит хорошо. Теперь я хочу перенести мое приложение на Glassfish v2.1, и мой кошмар начинается! Могу ли я использовать один и тот же код для загрузки провайдера? В Tomcat хорошо работает, но не удача со Glassfish v2.

String configName = "C:\\pkcs11.config";
Provider provider = new SunPKCS11(configName);

configName - это файл с таким содержанием:

name = Safesign
library = C:\windows\system32\aetpkss1.dll

Я использую это, чтобы получить KeySotore

char[] pin = { '1', '2', '3', '4' };
   String configName = "C:\\pkcs11.config";
   Provider p = new SunPKCS11(configName);
   KeyStore.Builder builder = KeyStore.Builder.newInstance("pkcs11",
     p, new KeyStore.PasswordProtection(pin));
   ks = builder.getKeyStore();

Похоже, Glassfish не загружает DLL и не находит слотов моего устройства чтения карт USB. Пожалуйста, кто-нибудь знает, как я могу решить мою проблему? Помогите!!! * извините за "Тарзан Инглиш".

1 Ответ

0 голосов
/ 21 июля 2010

Повторно используйте ваш экземпляр SunPKCS11, и не забудьте вызвать Security.addProvider

...