1 package org.cacert.gigi;
2 import java.io.IOException;
3 import java.io.PrintWriter;
4 import java.security.cert.X509Certificate;
5 import java.util.Enumeration;
7 import javax.net.ssl.SSLEngine;
8 import javax.security.auth.x500.X500Principal;
9 import javax.servlet.ServletException;
10 import javax.servlet.http.HttpServlet;
11 import javax.servlet.http.HttpServletRequest;
12 import javax.servlet.http.HttpServletResponse;
14 import org.eclipse.jetty.io.EndPoint;
15 import org.eclipse.jetty.server.HttpChannel;
16 import org.eclipse.jetty.server.Request;
18 public class TestServlet extends HttpServlet {
20 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
21 throws ServletException, IOException {
22 Request r = (Request) req;
23 HttpChannel<?> hc = r.getHttpChannel();
24 EndPoint ep = hc.getEndPoint();
26 Enumeration<String> names = req.getAttributeNames();
27 X509Certificate[] cert = (X509Certificate[]) req
28 .getAttribute("javax.servlet.request.X509Certificate");
29 int keySize = (Integer) req
30 .getAttribute("javax.servlet.request.key_size");
31 String ciphers = (String) req
32 .getAttribute("javax.servlet.request.cipher_suite");
33 String sid = (String) req
34 .getAttribute("javax.servlet.request.ssl_session_id");
35 PrintWriter out = resp.getWriter();
36 out.println("KeySize: " + keySize);
37 out.println("cipher: " + ciphers);
38 X509Certificate c1 = cert[0];
39 out.println("Serial:" + c1.getSerialNumber());
40 X500Principal client = c1.getSubjectX500Principal();
41 out.println("Name " + client.getName());
42 out.println(client.getName(X500Principal.RFC1779));
43 out.println(client.getName(X500Principal.RFC2253));
44 out.println("signature: " + c1.getSigAlgName());
45 out.println("issuer: " + c1.getSubjectX500Principal());
46 out.println("certCount: " + cert.length);