2016-01-05 3 views
3

У меня есть чисто Java-приложение, которое в настоящее время использует .jks-based key- и trust-store. Насколько я понимаю, обработка SSL-протокола под Bluemix выполняется на стороне сети с использованием одного порта и сертификата wild-card для идентификации хоста и домена. Моя озабоченность связана с использованием хранилища доверия, в котором я использую для добавления сертификатов доверенных узлов-партнеров, например, для поставщика удостоверений. Есть ли доступный инструмент для загрузки на высоком уровне, который помогает установить доверенный сертификат? Имея доступную информацию, Java может ограничить ее функциональность очень простой реализацией HTTP, внешне поддерживаемой облаком и механизмом преобразования HTTP-HTTPS, который происходит на динамическом порту.Bluemix - Как добавить сертификат в магазин доверия

Каков наилучший способ загрузить и активировать сертификат доверенного сервера в мое приложение?

Спасибо @david за отправку комментариев.

Приложение представляет собой чистый пакет Java, который объединяет встроенный веб-контейнер и обрабатывает одну страницу GUI для инициирования и поток аутентификации Oauth 2.o. Его дизайн похож на последовательность cURL, поэтому в основном это веб-сервис. Чтобы сохранить его наклонность, я решил избежать сложностей серверов веб-приложений. SSL может управляться самим кодом, так как мне удалось упаковать хранилище ключей и доверия в пакет cf push, используя команду расширения ресурса пакета Maven, которая может копировать набор плоских файлов по своему расширению, например * .jks. Тестирование показало, что код Java способен его прочитать. Я сомневаюсь в обработке SSL по умолчанию, которая передает SSL-конструкцию в прокси-шлюз Bluemix, в основном подключающемся к приложению через базовый HTTP-протокол (вопрос: действует ли прокси-сервер только на входящем пути?).

Я не нашел документацию о потоке исходящего SSL или механизмов, описывающих, как хранить доверенные сертификаты, которые могут помочь прокси. Кроме того, хранилище ключей требует сертификата, который отображает подстановочный знак домена * .mybluemix.net или нужен ли самозаверяющий сертификат?

Относительно ошибки: javax.net.ssl.SSLPeerUnverifiedException: коллегиально не прошел проверку подлинности

Я выделил проблему SSL с JAVA_OPTS = «- Djavax.net.debug = SSL» настроен в переменной окружения и повторяется приложение «push». Трассировка отображала проблему, касающуюся неограниченного JCE stregth, несовместимости между вызывающим узлом (IdP) и OpenJDK Java 8. Очевидно, что мой код способен генерировать SSL, считая использование локальных хранилищ ключей. Я открою новый отчет о проблеме криптографии и попрошу сообщество, как его исправить.

Спасибо @david за поддержку, чтобы уточнить детали поддержки прокси-сервера Bluemix и SSL и использования сертификатов доверия.

+0

«выполняет ли прокси-сервер только входящий путь» - Да, не имеет ничего общего с исходящими соединениями (ssl или иначе). – david

ответ

2

Нет никакого загрузочного инструмента, о котором я знаю, но при условии, что вы используете Liberty, вы должны просто упаковать хранилище ключей с вашим каталогом серверов, когда вы нажимаете его на Bluemix (как правило, в директории ресурсов/безопасности). Вам нужно будет настроить элемент хранилища ключей в файле server.xml, как описано here. И вам нужно будет повторно нажимать свое приложение каждый раз, когда вам нужно изменить хранилище ключей (т. Е. Добавить новый сертификат), но это, вероятно, будет не очень часто в зависимости от вашего варианта использования.

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