Внедрение клиентской аутентификации с помощью Apache James - PullRequest
0 голосов
/ 19 июля 2011

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

Серверная часть довольно проста и требует только настройки в config.xml -а как насчет clientauth?

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

 <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>

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

Спасибо!

1 Ответ

1 голос
/ 03 сентября 2012

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

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

...