addProvider bouncycastle filenotfoundexception

Я смог запустить расшифровку и шифрование локально, используя банки bouncycastle. Я сгенерировал ключи, которые я хочу поместить в открытый ключ клиента (Java и Android) и закрытый ключ в веб-службу. Мне удалось зашифровать и закодировать сообщение и отправить зашифрованное сообщение в веб-службу (на размещенной службе Lunarpages), но расшифровка веб-службы завершается с ошибкой FileNotFoundException в строке

BouncyCastleProvider bc = new BouncyCastleProvider();

or

Security.addProvider(new BouncyCastleProvider());

Файлы bcprov-ext-jdk14-146.jar и bcprov-jdk14-146.jar включены в каталог web-inf lib.

Есть ли что-то, что я могу сделать программно, чтобы включить это, или Lunarpages должен что-то сделать?

Я даже не смог распечатать трассировку стека для себя, поэтому я подумал, что могу попробовать другого поставщика, чтобы увидеть, получу ли я лучший ответ - SunJCE.

access denied (java.security.SecurityPermission insertProvider.SunJCE)

java.security.AccessControlContext.checkPermission(AccessControlContext.java:269) java.security.AccessController.checkPermission(AccessController.java:401) java.lang.SecurityManager.checkPermission(SecurityManager.java:524) java.lang.SecurityManager.checkSecurityAccess( SecurityManager.java:1673) java.security.Security.check(Security.java:1307) java.security.Security.insertProviderAt(Security.java:697) java.security.Security.addProvider(Security.java:757) net. wpstudios.tcws.pgp.RSAEncrypt.generateKeys(RSAEncrypt.java:81) javax.servlet.http.HttpServlet.service(HttpServlet.java:165) javax.servlet.http.HttpServlet.service(HttpServlet.java:103) com. caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96) com.caucho.server.http.Invocation.service(Invocation.java:315) com.caucho.server.http.CacheInvocation.service(CacheInvocation.java: 135) com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:346) com.caucho.server.http.RunnerRequest.handleConnection(RunnerRe quest.java:274) com.caucho.server.TcpConnection.run(TcpConnection.java:139) java.lang.Thread.run(Thread.java:534)


person iowatiger08    schedule 20.06.2011    source источник
comment
Я даже не мог получить трассировку стека, поэтому я подумал, что могу попробовать другого провайдера, просто чтобы посмотреть, что произойдет.   -  person iowatiger08    schedule 21.06.2011
comment
@owlstead, спасибо, что указали на очевидное, но это было добавлено после моего комментария.   -  person Petey B    schedule 22.06.2011


Ответы (1)


Имеет ли значение исключение FileNotFound? Очевидно, что настройка сервера caucho использует ограничения доступа при добавлении провайдеров. Неважно, что если вы хотите разработать шифрование/дешифрование на уровне приложения, вы можете просто напрямую использовать криптографический API надувного замка. Это не так удобно, как JCE, но достаточно полезно. Это может не сработать, если вы хотите использовать библиотеку, которая, в свою очередь, использует структуру JCA/JCE.

Lunarpages предназначен для изменения разрешений или добавления провайдеров вручную (по-видимому, с помощью Resin.conf), но может быть сложно изменить их только для вас, если только вы не единственный, кто использует сервер приложений Java. Полагаю, спросить никогда не помешает.

person Maarten Bodewes    schedule 21.06.2011
comment
Ваш ответ работает, и нет, они не будут обновлять файл конфигурации только для меня, лол. Как вы упомянули здесь, я смог с некоторым успехом использовать поставщика SunJCE. - person iowatiger08; 23.09.2011