Реализация аутентификации на стороне клиента с помощью Apache James

я использую Apache james в качестве почтового сервера, и мне нужно реализовать аутентификацию как на стороне клиента, так и на стороне сервера с сертификатами X509.

Серверная часть довольно проста и зависит только от конфигурации в config.xml, но как насчет clientauth?

Есть ли простой способ реализовать это с помощью конфигурации? В области сокетов файла config.xml я могу установить для параметра аутентификации клиента значение true, но вики Джеймса говорит, что мне разрешено помещать только один сертификат в хранилище ключей, указанное в разделе хранилища ключей:

 <factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
        <authenticate-client>true</authenticate-client>
        <ssl-factory>
           <keystore>
              <file>conf/@KEYSTORE_FILENAME@</file>
              <password>@KEYSTORE_PASSWORD@</password>
              <key-password>@PRIVATEKEY_PASSWORD@</key-password>
              <type>JKS</type>
              <protocol>TLS</protocol>
              <algorithm>SunX509</algorithm>
           </keystore>
        </ssl-factory>
     </factory>

Поэтому, если у вас есть какие-то рекомендации о том, как это сделать, или вы знаете учебник, посвященный этому, я был бы очень признателен, если бы вы могли поделиться им.

Благодарю вас!


person Sebastian    schedule 19.07.2011    source источник
comment
Оказывается, описанный выше способ работает нормально, просто возникают проблемы с сертификатом!   -  person Sebastian    schedule 21.10.2011
comment
не могли бы вы опубликовать ответ на вопрос самостоятельно, а затем принять этот ответ? Кроме того, вам необходимо принять ответы на предыдущие вопросы, если они решат вашу проблему.   -  person Zecas    schedule 17.05.2012


Ответы (1)


Вы можете поместить все свои сертификаты в хранилище ключей, если хотите. Но так как мне нужно было четкое разделение хранилища ключей и доверенных сертификатов, я изменил источники Джеймса, чтобы это стало возможным.

К сожалению, нет более простого способа сделать это.

person Sebastian    schedule 03.09.2012