2013-07-17 4 views
1

При попытке запуска тестов с arquillian с опцией adminHttps значение ИСТИНА, получил исключение:CertificateException при тестировании с arquillian на GlassFish-дистанционного

Не удалось подключиться к DAS на: (...) | java.security.cert.CertificateException: нет существующих альтернативных имен org.jboss.arquillian.container.spi.client.container.LifecycleException: Не удалось подключиться к DAS: (...) | java.security.cert.CertificateException: нет существующих альтернативных имен на org.jboss.arquillian.container.glassfish.CommonGlassFishManager.start (CommonGlassFishManager.java:77) на org.jboss.arquillian.container.glassfish.remote_3_1.GlassFishRestDeployableContainer .start (GlassFishRestDeployableContainer.java:59) на org.jboss.arquillian.container.impl.ContainerImpl.start (ContainerImpl.java:199)

в примерах, которые я нашел были без SSL включен. Я думаю, что я должен импортировать сертификат, но не могу найти, насколько это реально или действительно. Есть идеи? Спасибо за sugestions.

ответ

0

Проблема была вызвана сертификатом. При развертывании на другой сервер вы должны импортировать сертификат с этого сервера на текущий компьютер (когда пользовательские самозаверяющие сертификаты)

+0

Здравствуйте. Можете ли вы показать, как вы импортировали сертификат, пожалуйста? –

+0

Я боюсь, что нет :(Я не помню его сейчас и не имею доступа к этим знаниям ... – romsac

1

Хотя принятый ответ показывает, что эта проблема возникла из-за использования сертификата самозаверяющего контейнера, t объяснить, как проблему можно преодолеть. Надеюсь, этот ответ поможет любому, кто имеет такую ​​же проблему.

Вы можете импортировать контейнеры самостоятельно подписанный сертификат в хранилище ключей с помощью следующей команды:

keytool -import -alias glassfish -file mycert.cer -keystore truststore.jks -storepass changeit

Изменение mycert.cer к местоположению файла сертификата

Изменение truststore.jks в месте расположения хранилища ключей вы хотите использовать для хранения сертификата. Это может быть либо новое хранилище ключей, либо существующее. Параметр storepass - это пароль для хранилища ключей. Если вы используете существующее хранилище ключей, вам нужно будет указать пароль, связанный с хранилищем ключей.

Как только вы импортировали самоподписанный сертификат в хранилище ключей, вам нужно сообщить JVM, что он работает с Arquillian, чтобы использовать хранилище ключей. Это можно сделать, установив системный параметр javax.net.ssl.trustStore в местоположение хранилища ключей. Например javax.net.ssl.trustStore=truststore.jks

+0

Где я могу найти mycert.cer в каталоге glassfish 4.1? –

+0

mycert.cer - это просто имя файла сертификата Я использовал этот пример, вместо этого вы должны использовать имя файла сертификата, подписанного вашим центром сертификации. Этот файл не обязательно должен находиться в каталоге Glassfish, он должен быть где-то, доступным с помощью утилиты keytool –

+0

Хорошо, проблема в том, что я использую самозаверяющий сертификат, который поставляется в виде стеклянной рыбы, но я нашел его в магазине domains/domain1/config/keystore.jks. –

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