2014-09-14 3 views
1

Перед обновлением до Grails 2.4.x (я использовал Grails 2.2.x) Я установил свой SSL хранилище ключей с помощью системных свойств в классе Grails Bootstrap следующим образом:Grails 2.4.x настройка хранилища ключей во время выполнения

System.setProperty('javax.net.ssl.keyStore', path) 
System.setProperty('javax.net.ssl.keyStorePassword', password) 
System.setProperty('sun.security.ssl.allowUnsafeRenegotiation', 'true') 

Это отлично работало в 2.2.x, и библиотека scribe-java смогла предоставить сертификат клиента моему поставщику oauth без проблем.

Кажется, что после обновления до Grails 2.4.x это больше не работает - провайдер не может видеть сертификаты, которые заставляют меня считать, что хранилище ключей не загружается.

Возможно ли, что Bootstrap запускается в другое время, когда приложение загружается в новой версии Grails - это означает, что хранилище ключей уже загружено, прежде чем я получу возможность изменить путь?

Действительно, на данный момент это очень похоже на загрузку хранилища ключей, похоже, это черный ящик в мире Java, отладка которого практически невозможна.

+0

Нравится ли вам попробовать с внешней конфигурацией с .groovy файлами? ИМХО - лучший выбор, или вы предпочитаете настройку свойств системы? – neodevelop

ответ

0

Так что это была моя ошибка полностью - то, что я сделал, переопределяет реализацию trustStore, чтобы я мог издеваться над некоторыми SSL-API.

Он должен быть не связанным (насколько я могу определить), но как только я удалил свою «открытую» реализацию trustStore, другой материал работал отлично.

Я предполагаю, что реальный ответ на этот вопрос - если у вас возникли проблемы с * магазинами, сначала посмотрите на свой другой код магазина!

Смежные вопросы