Так вы можете извлечь DN из запроса,
Object certChain = request.getAttribute(
"javax.servlet.request.X509Certificate");
if (certChain != null) {
X509Certificate certs[] = (X509Certificate[])certChain;
X509Certificate cert = certs[0];
String n = cert.getSubjectDN().getName();
}
Чтобы это работало, вы должны правильно настроить HTTPS-разъем. Если используется AJP, необходимо настроить соединитель AJP таким образом, чтобы сертификат передавался из Apache в Tomcat.