Note
Ensure that the headers are always set by httpd for all requests to prevent a client spoofing SSL information by sending fake headers.
In httpd.conf add the following:
<IfModule ssl_module>
RequestHeader set SSL_CLIENT_CERT "%{SSL_CLIENT_CERT}s"
RequestHeader set SSL_CIPHER "%{SSL_CIPHER}s"
RequestHeader set SSL_SESSION_ID "%{SSL_SESSION_ID}s"
RequestHeader set SSL_CIPHER_USEKEYSIZE "%{SSL_CIPHER_USEKEYSIZE}s"
</IfModule>
In server.xml, configure this valve under the Engine element in server.xml:
<Engine ...> <Valve className="org.apache.catalina.valves.SSLValve" /> <Host ... /> </Engine>
| Modifier and Type | Field and Description |
|---|---|
| private static final Log | |
| private String | |
| private String | |
| private String | |
| private String | |
| private String |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public String | |
| public String | |
| public String | |
| public String | |
| public String | |
| public void | invoke(Request
The servlet request to be processed request, Response The servlet response to be created response)Implements org. Perform request processing as required by this Valve. |
| public String | |
| public void | |
| public void | |
| public void | |
| public void | |
| public void |
| log | back to summary |
|---|---|
| private static final Log log | |
| sslCipherHeader | back to summary |
|---|---|
| private String sslCipherHeader | |
| sslCipherUserKeySizeHeader | back to summary |
|---|---|
| private String sslCipherUserKeySizeHeader | |
| sslClientCertHeader | back to summary |
|---|---|
| private String sslClientCertHeader | |
| sslClientEscapedCertHeader | back to summary |
|---|---|
| private String sslClientEscapedCertHeader | |
| sslSessionIdHeader | back to summary |
|---|---|
| private String sslSessionIdHeader | |
| SSLValve | back to summary |
|---|---|
| public SSLValve() | |
| getSslCipherHeader | back to summary |
|---|---|
| public String getSslCipherHeader() | |
| getSslCipherUserKeySizeHeader | back to summary |
|---|---|
| public String getSslCipherUserKeySizeHeader() | |
| getSslClientCertHeader | back to summary |
|---|---|
| public String getSslClientCertHeader() | |
| getSslClientEscapedCertHeader | back to summary |
|---|---|
| public String getSslClientEscapedCertHeader() | |
| getSslSessionIdHeader | back to summary |
|---|---|
| public String getSslSessionIdHeader() | |
| invoke | back to summary |
|---|---|
| public void invoke(Request request, Response response) throws IOException, ServletException Implements org. Doc from org. Perform request processing as required by this Valve. An individual Valve MAY perform the following actions, in the specified order:
A Valve MUST NOT do any of the following things:
| |
| mygetHeader | back to summary |
|---|---|
| public String mygetHeader(Request request, String header) | |
| setSslCipherHeader | back to summary |
|---|---|
| public void setSslCipherHeader(String sslCipherHeader) | |
| setSslCipherUserKeySizeHeader | back to summary |
|---|---|
| public void setSslCipherUserKeySizeHeader(String sslCipherUserKeySizeHeader) | |
| setSslClientCertHeader | back to summary |
|---|---|
| public void setSslClientCertHeader(String sslClientCertHeader) | |
| setSslClientEscapedCertHeader | back to summary |
|---|---|
| public void setSslClientEscapedCertHeader(String sslClientEscapedCertHeader) | |
| setSslSessionIdHeader | back to summary |
|---|---|
| public void setSslSessionIdHeader(String sslSessionIdHeader) | |