Вопрос по glassfish, client, certificate – Клиентский сертификат конфигурации Glassfish 3.1.2 для взаимной аутентификации

2

Мне нужна помощь в настройке GF3.1.2 Я сделал следующие изменения, пожалуйста, дайте мне знать, если я что-то упустил, так как после изменений он НЕ работает. мой идентификатор [email protected]

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

пожалуйста сделай все необходимое

web.xml

<code><login-config>
  <auth-method>CLIENT-CERT</auth-method>
</login-config>
<security-constraint>
  <web-resource-collection>
    <web-resource-name>Entire Application</web-resource-name>
    <url-pattern>/faces/*</url-pattern>
    <http-method>POST</http-method>
  </web-resource-collection>
  <auth-constraint>
    <description/>
    <role-name>authorized</role-name>
  </auth-constraint>
  <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  </user-data-constraint>
</security-constraint>
<security-role>
  <description/>
  <role-name>authorized</role-name>
</security-role>
</code>

ВС-web.xml

<code><security-role-mapping>
  <role-name>authorized</role-name>
  <principal-name>admin</principal-name>
  <group-name>authorized</group-name>
</security-role-mapping>
</code>

domain.xml

<code><security-service>
  <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="admin-realm">
    <property name="file" value="${com.sun.aas.instanceRoot}/config/admin-keyfile"></property>
    <property name="jaas-context" value="fileRealm"></property>
  </auth-realm>
  <auth-realm classname="com.sun.enterprise.security.auth.realm.file.FileRealm" name="file">
    <property name="file" value="${com.sun.aas.instanceRoot}/config/keyfile"></property>
    <property name="jaas-context" value="fileRealm"></property>
  </auth-realm>
  <auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate">
    <property name="assign-groups" value="authorized"></property>
  </auth-realm>
</code>
так, когда я нажимаю URL в браузере, он должен запросить сертификат клиента? я прав. user1347618
Если быть точным, мой borowser не запрашивает сертификат клиента, я хочу аутентифицировать пользователя с помощью сертификата клиента, я внес определенные изменения в сервер Glassfish. user1347618
Пожалуйста, уточните, что именно "не работает". Какое приложение вы создаете? Вы уверены, что клиентская сторона работает правильно? TPete
веб-приложение работает бесперебойно user1347618
Приложение: - JSF веб-приложение user1347618

Ваш Ответ

4   ответа
0

Установите & quot; Аутентификация клиента: true & quot; в & quot; http-listener-2 & quot ;.

1

<login-config>
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>certificate</realm-name>
</login-config>

Содержимое realm-name должно соответствовать атрибуту name элемента auth-realm в domain.xml, который в вашем случае является & quot; Certificate & quot;

[Обновлено]

Кроме того, сертификат CA должен быть импортирован в хранилище доверенных сертификатов сервера.

${com.sun.aas.instanceRoot}/config/cacerts.jks
Хранилище ключей сервера содержит сертификат сервера, а не клиентский.
После внесения изменений я пытаюсь отладить журнал ssl в server.log, следующие строки приходят в журналах, [# | 2012-04-25T11: 12: 33.026-0700 | INFO | glassfish3.1.2 | javax.enterprise.system.std .com.sun.enterprise.server.logging | _ThreadID = 41; _ThreadName = Thread-2; | admin-thread-pool-4848 (3), фатальная ошибка: 80: проблема с развертыванием сетевой записи javax.net.ssl.SSLException: Нераспознанное SSL-сообщение, текстовое соединение? | #] Разрешить устаревшие приветственные сообщения: true Начальное рукопожатие: true Безопасное повторное согласование: false | #] user1347618
Привет, чтобы быть конкретным после изменений в domain.xml для сертификата клиента auth мое приложение не запрашивает сертификат клиента для аутентификации входа пользователя в браузер, оно должно запрашивать сертификат клиента, я также добавил имя области в login-config, как бы я узнал мой клиентский сертификат необходим через GF3.1.2, если вы хотите файлы конфигурации, пожалуйста, дайте мне знать. как поделиться ими с вами. user1347618
верно, только сертификат CA должен быть импортирован в cacerts
Не могли бы вы уточнить ваш последний комментарий? Что произошло после того, как вы поместили правильное имя области в раздел login-config?
0

и он работал в следующих условиях:

1. Мне нужно использовать одно и то же хранилище ключей (доверия) типа jks и в том же месте. Для того, чтобы общаться с другими форматами сертификатов, вы должны преобразовать их в формат, который может обрабатывать формат jks.

2. в glassfish-web.xml у вас должно быть вот это отображение

    <security-role-mapping>
      <role-name>manager</role-name>   
    <group-name>authorized</group-name>
    </security-role-mapping>

3. в файле domain.xml вы должны иметь следующее:

<auth-realm classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm" name="certificate">
              <property name="assign-groups" value="authorized"></property>
            </auth-realm> 

Примечание. В файле web.xml необходимо указать имя области, соответствующее файлу domain.xml.

& Lt; входа в систему-конфигурации & GT; & Lt; авт-метод & GT; КЛИЕНТ-СЕРТ & л; / авт-метод & GT; & Lt; сфера имя & GT; сертификат & л; сфера имя & GT /; & Lt; / Логин-конфигурации & GT;
Спасибо Хуршеду, что нашли время ответить на это. user1347618
0

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

http://www.slideshare.net/krizsan/scdjws-5-study-notes-3085287

SCDJWS 5 или в наше время известно как Oracle Certified Professional, Java EE 5 Web Services Developer Учебные записки от Иван А Крижсан Версия: 23 февраля 2012 г.

Похожие вопросы