jfclere 01/09/14 07:26:39
Modified: jk/java/org/apache/ajp Ajp13.java
Log:
Arrange javax.servlet.request.X509Certificate so that it follows SRV4.7
2.3 Spec's.
Revision Changes Path
1.13 +18 -2 jakarta-tomcat-connectors/jk/java/org/apache/ajp/Ajp13.java
Index: Ajp13.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/ajp/Ajp13.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Ajp13.java 2001/09/14 11:15:00 1.12
+++ Ajp13.java 2001/09/14 14:26:38 1.13
@@ -65,6 +65,7 @@
import java.io.OutputStream;
import java.net.Socket;
import java.util.Enumeration;
+import javax.security.cert.X509Certificate;
import org.apache.tomcat.util.buf.MessageBytes;
import org.apache.tomcat.util.buf.ByteChunk;
@@ -402,8 +403,23 @@
case SC_A_SSL_CERT :
isSSL = true;
- req.setAttribute("javax.servlet.request.X509Certificate",
- msg.getString());
+ // Transform the string into certificate.
+ String certString = msg.getString();
+ byte[] certData = certString.getBytes();
+
+ // Fill the first element.
+ X509Certificate jsseCerts[] = null;
+ try {
+ X509Certificate cert =
+ X509Certificate.getInstance(certData);
+ jsseCerts = new X509Certificate[1];
+ jsseCerts[0] = cert;
+ } catch(javax.security.cert.CertificateException e) {
+ logger.log("Certificate convertion failed" + e );
+ }
+
+ req.setAttribute("javax.servlet.request.X509Certificate",
+ jsseCerts);
break;
case SC_A_SSL_CIPHER :