The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Аутентификация с помощью x509, !*! aborilov, 07-Фев-08, 14:08  [смотреть все]
  • Аутентификация с помощью x509, !*! domas, 01:30 , 12-Фев-08 (1)
    План действий:
    1. настраиваешь соответствующий коннектор в томкэте. Коннектор - это то, что принимает непосредственно клиентские подключения и авторизует.
    2. создаешь keystore - это хранилище ключей. В твоем случает минимум двух - ключ сервера и клиента.
    3. Добавляешь в хранилище ключи клиентов. Ключ сервера уже там будет, т.к. при создании первого ключа хранилище создается автоматом.
    4. Нарезаешь привелегии, в которых именем пользователя являются атрибуды сертификата.

    Пример для простого случая, без CA, когда не нужно импортировать, подписавать и т.д.

    Коннектор в server.xml. Важен ригистр букв, это пример для 6 версии, для 5.5 кое-какие параметры должны быть полностью в нижнем регистре.


    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
                    address="192.168.0.1"
                    maxHttpHeaderSize="8192" minSpareThreads="25" maxSpareThreads="75"
                    enableLookups="false" disableUploadTimeout="true"
                    acceptCount="100"
                    keystoreFile="${catalina.home}/conf/ssl/key_store.p12"
                    keystorePass="qwerty"
                    truststoreFile="${catalina.home}/conf/ssl/key_store.p12"
                    truststorePass="qwerty"
                    keyAlias="server"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="true" sslProtocol="TLS" />

    Делаешь kestore и генерируешь сертификаты.Например:


    keytool --genkey -alias server -keystore $CATALINA_HOME/conf/ssl/key_store.p12 -storepass qwerty
    keytool --genkey -alias client1 -keystore $CATALINA_HOME/conf/ssl/key_store.p12 -storepass qwerty
    keytool --genkey -alias client2 -keystore $CATALINA_HOME/conf/ssl/key_store.p12 -storepass qwerty

    Смотрим что получилось:


    keytool --list -keystore $CATALINA_HOME/conf/ssl/key_store.p12 -storepass qwerty

    Теперь настройка ролей(tomcat-users.xml):


    <tomcat-users>
      <role rolename="manager"/>
      <role rolename="simpleuser"/>
      <user username="CN=1, OU=2, O=3, L=4, ST=5, C=6" password="null" roles="manager"/>
      <user username="CN=a, OU=b, O=c, L=d, ST=e, C=f" password="null" roles="simpleuser"/>
    </tomcat-users>

    Подробности тут: http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
    Желательно еще конвертировать клиентские сертификаты из PKCS#12 в PEM - это уже к openssl.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру