Что у меня есть:Websphere App сервера взаимного SSL - получить CN от проверки подлинности сертификата клиента
- WAS традиционный 9,0 с EJB веб-сервиса;
- клиент webservice - приложение java;
- SSL настроен только на 9449 порт, как описано здесь (один путь http://www.ibm.com/developerworks/webservices/tutorials/ws-radsecurity3/ws-radsecurity3.html)
мне нужна взаимная проверка подлинности SSL, поэтому я иду к качеству защиты (QOP) настройки, и установить аутентификацию клиента = Обязательно. До этого момента все работает нормально.
Проблема в том, что моему EJB-приложению требуется общее имя сертификата клиента для получения идентификатора пользователя, который он будет использовать в бизнес-логике. И здесь я потерпел неудачу. Фрагмент кода (со стороны веб-службы):
MessageContext context = wsContext.getMessageContext();
HttpServletRequest req = (HttpServletRequest)context.get(MessageContext.SERVLET_REQUEST) ;
System.out.println("!! isSecure " + req.isSecure());
X509Certificate[] certificates = (X509Certificate[]) req.getAttribute("java.servlet.request.X509Certificate");
if (null != certificates && certificates.length > 0) {
...
} else {
System.out.println("!! Empty certificates");
}
isSecure returnd верно, но я получаю "Пустые сертификаты" сообщение.
Мое предположение, возможно, причина в следующем. Когда я вывожу конфигурацию SSL, используемую на порте 9449, первая строка - «com.ibm.ssl.clientAuthenticationSupported = false», а через Консоль администратора она устанавливается как обязательная.
com.ibm.websphere.ssl.JSSEHelper jsseHelper = com.ibm.websphere.ssl.JSSEHelper.getInstance();
java.util.Properties props = jsseHelper.getProperties("WebServiceConfigure");
System.out.println("!!! WebServiceConfigure = " + props.toString());
У вас есть настройка ячейки (DMGR и узлы) или автономный сервер? В случае соты вы должны убедиться, что вы устанавливаете параметры QoP на соответствующем узле, где создан сервер. Если вы установите его на DMGR, эти настройки не будут применяться к другим серверам. –
Я тестирую его автономно, но он перейдет к DMGR. Я буду помнить о ваших советах, спасибо. – Buch