--- Http11AprProcessor.java 2006-11-16 00:32:34.000000000 +0100 +++ c:\java\sources\apache-tomcat-6.0.2-src\java\org\apache\coyote\http11\Http11AprProcessor.java 2006-11-29 11:00:01.525766400 +0100 @@ -1146,6 +1146,15 @@ ByteArrayInputStream stream = new ByteArrayInputStream(data); certs[i] = (X509Certificate) cf.generateCertificate(stream); } + } else if (certLength == 0) { + byte[] data = SSLSocket.getInfoB(socket, SSL.SSL_INFO_CLIENT_CERT); + if (data != null) { + certs = new X509Certificate[1]; + CertificateFactory cf = + CertificateFactory.getInstance("X.509"); + ByteArrayInputStream stream = new ByteArrayInputStream(data); + certs[0] = (X509Certificate) cf.generateCertificate(stream); + } } if (certs != null) { request.setAttribute