public class CryptoHeaderFilter extends GenericFilter
Modifier and Type | Class and Description |
---|---|
static class |
CryptoHeaderFilter.Heaplet
Creates and initializes a header filter in a heap environment.
|
static class |
CryptoHeaderFilter.Operation
Should the filter encrypt or decrypt the given headers ?
|
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_ALGORITHM
Default cipher algorithm to be used when none is specified.
|
logger, storage
Constructor and Description |
---|
CryptoHeaderFilter() |
Modifier and Type | Method and Description |
---|---|
void |
filter(Exchange exchange,
Handler next)
Filters the request and/or response of an exchange.
|
Set<String> |
getHeaders()
Returns the headers whose values should be processed for encryption or decryption.
|
void |
setAlgorithm(String algorithm)
Sets the cryptographic algorithm.
|
void |
setCharset(Charset charset)
The
Charset to use for decrypted values. |
void |
setKey(Key key)
Sets the encryption key.
|
void |
setMessageType(MessageType messageType)
Sets the type of message in the exchange to process headers for.
|
void |
setOperation(CryptoHeaderFilter.Operation operation)
Sets the operation (encryption/decryption) to apply to the headers.
|
public static final String DEFAULT_ALGORITHM
public CryptoHeaderFilter()
public void setOperation(CryptoHeaderFilter.Operation operation)
operation
- The encryption/decryption) to apply to the headers.public void setMessageType(MessageType messageType)
messageType
- The type of message in the exchange to process headers for.public void setAlgorithm(String algorithm)
algorithm
- The cryptographic algorithm.public void setKey(Key key)
key
- The encryption key to set.public void setCharset(Charset charset)
Charset
to use for decrypted values.charset
- The charset used for decrypted values.public Set<String> getHeaders()
public void filter(Exchange exchange, Handler next) throws HandlerException, IOException
Filter
exchange.request
contains the request to be filtered. To pass the request to the next filter or handler
in the chain, the filter calls next.handle(exchange)
. After this call,
exchange.response
contains the response that can be filtered.
This method may elect not to pass the request to the next filter or handler, and instead
handle the request itself. It can achieve this by merely avoiding a call to
next.handle(exchange)
and creating its own response object the exchange. The
filter is also at liberty to replace a response with another of its own after the call
to next.handle(exchange)
.
Important note: If an existing response exists in the exchange object
and the filter intends to replace it with its own, it must first check to see if the
existing response has an entity, and if it does, must call its close
method in
order to signal that the processing of the response from a remote server is complete.
exchange
- the exchange containing the request and response to filter.next
- the next filter or handler in the chain to handle the exchange.HandlerException
- if an exception occurred handling the exchange.IOException
- if an I/O exception occurred.Copyright © 2014 ForgeRock AS. All rights reserved.