2017-01-11 5 views
-2

Я пытаюсь настроить свою свободу сервер для проверки подлинности сертификата клиента с помощью этих шагов: http://www.ibm.com/support/knowledgecenter/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/twlp_sec_clientcert.htmlIBM Liberty проверка подлинности сертификата клиента

Моя конфигурация свобода:

<server description="new server"> 
    <!-- Enable features --> 
    <featureManager> 
     <feature>webProfile-7.0</feature>   
     <feature>restConnector-1.0</feature> 
     <feature>localConnector-1.0</feature> 
     <feature>monitor-1.0</feature> 
     <feature>jsp-2.3</feature> 
     <feature>adminCenter-1.0</feature> 
     <feature>ssl-1.0</feature> 
    </featureManager> 

    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" --> 
    <httpEndpoint id="defaultHttpEndpoint" 
        httpPort="9081" 
        httpsPort="9444" />       

    <application id="Sample" name="Sample" type="war" location="Sample.war"/> 
    <keyStore id="defaultKeyStore" location="key.jks" type="JKS" password="{xor}EzY9Oi0rJg==" /> 
    <keyStore id="defaultTrustStore" location="truststore.jks" type="JKS" password="{xor}EzY9Oi0rJg==" /> 
    <ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" clientAuthenticationSupported="true"/> 
    <webAppSecurity allowFailOverToBasicAuth="true" /> 

    <auth-method>CLIENT-CERT</auth-method> 
    <basicRegistry id="basic">  
     <user identity="CN=Admin,O=myOrg,C=country" name="Admin" password="admin" />-->   
    </basicRegistry> 

    <administrator-role> 
     <user>Admin</user>  
    </administrator-role> 

</server> 

От Java клиента я получаю: CWWKX0229E : Возникла проблема с предоставленными учетными данными пользователя. Сервер ответил кодом 401, а сообщение «Неавторизованный»

Я думаю, что неправильное сопоставление с пользователем. Может ли кто-нибудь дать мне пример, как сопоставить сертификат клиента с пользователем свободы?

ответ

0

Является ли намерение входа в веб-приложение с использованием сертификата, а не пользователя/пароля? Вы должны определить CLIENT-CERT в web.xml. Вам нужно будет установить сертификат в своем браузере, откуда будет выполняться доступ к приложениям. Кроме того, серверу Liberty необходимо будет иметь сертификат подписчика в хранилище доверия. Вы также можете определить фильтр сертификата, если имя DN сертификата точно соответствует пользователю реестра.

Ниже приведена команда, которая может быть добавлена ​​в server.xml, чтобы базовая аутентификация могла использоваться, если аутентификация сертификата клиента не удалась.

Вы также можете подтвердить, что ваше приложение работает с базовой аутентификацией.

Подробнее на: http://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_sec_clientcert.html

+0

У меня есть требование от костюмера использовать сертификацию. И да, это работает с базовой аутентификацией. Возможно ли получить роль администратора с помощью проверки подлинности сертификата клиента? – VytautasN

+0

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

+0

Однако вам может потребоваться аутентификация клиента/общий SSL путем установки clientAuthentication = "true", в этом случае сервер запрашивает, чтобы клиент отправил сертификат. Однако, если у клиента нет сертификата или сертификат не доверен серверу, рукопожатие не будет выполнено. В этом случае вам все равно необходимо войти в систему с помощью пользователя/пароля. –