org.eclipse.jetty.server.ssl

## Class SslCertificates

- java.lang.Object
- - org.eclipse.jetty.server.ssl.SslCertificates

    public class SslCertificates
    extends Object

### Constructor Summary

Constructors
Constructor and Description
`SslCertificates()`

### Method Summary

Methods
`static void` `customize(SSLSession sslSession, EndPoint endpoint, Request request)` Allow the Listener a chance to customise the request.
`static X509Certificate[]` `getCertChain(SSLSession sslSession)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SslCertificates

    public SslCertificates()

### Method Detail

#### getCertChain

    public static X509Certificate[] getCertChain(SSLSession sslSession)

#### customize

    public static void customize(SSLSession sslSession,
                 EndPoint endpoint,
                 Request request)
                          throws IOException

Allow the Listener a chance to customise the request. before the server does its stuff.
This allows the required attributes to be set for SSL requests.
The requirements of the Servlet specs are:

- an attribute named "javax.servlet.request.ssl_session_id" of type String (since Servlet Spec 3.0).
- an attribute named "javax.servlet.request.cipher_suite" of type String.
- an attribute named "javax.servlet.request.key_size" of type Integer.
- an attribute named "javax.servlet.request.X509Certificate" of type java.security.cert.X509Certificate[]. This is an array of objects of type X509Certificate, the order of this array is defined as being in ascending order of trust. The first certificate in the chain is the one set by the client, the next is the one used to authenticate the first, and so on.

Parameters:
  `endpoint` - The Socket the request arrived on. This should be a `SocketEndPoint` wrapping a `SSLSocket`.
  `request` - HttpRequest to be customised.
Throws:
  `IOException`