План действий:
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.