IpSecTransform.Builder
public
static
class
IpSecTransform.Builder
extends Object
java.lang.Object | |
↳ | android.net.IpSecTransform.Builder |
This class is used to build IpSecTransform
objects.
Summary
Public constructors | |
---|---|
Builder(Context context)
Create a new IpSecTransform.Builder. |
Public methods | |
---|---|
IpSecTransform
|
buildTransportModeTransform(InetAddress sourceAddress, IpSecManager.SecurityParameterIndex spi)
Build a transport mode |
IpSecTransform.Builder
|
setAuthenticatedEncryption(IpSecAlgorithm algo)
Set the authenticated encryption algorithm. |
IpSecTransform.Builder
|
setAuthentication(IpSecAlgorithm algo)
Set the authentication (integrity) algorithm. |
IpSecTransform.Builder
|
setEncryption(IpSecAlgorithm algo)
Set the encryption algorithm. |
IpSecTransform.Builder
|
setIpv4Encapsulation(IpSecManager.UdpEncapsulationSocket localSocket, int remotePort)
Add UDP encapsulation to an IPv4 transform. |
Inherited methods | |
---|---|
Public constructors
Builder
public Builder (Context context)
Create a new IpSecTransform.Builder.
Parameters | |
---|---|
context |
Context : current context
This value cannot be null . |
Public methods
buildTransportModeTransform
public IpSecTransform buildTransportModeTransform (InetAddress sourceAddress, IpSecManager.SecurityParameterIndex spi)
Build a transport mode IpSecTransform
.
This builds and activates a transport mode transform. Note that an active transform will not affect any network traffic until it has been applied to one or more sockets.
Parameters | |
---|---|
sourceAddress |
InetAddress : the source InetAddress of traffic on sockets that will use
this transform; this address must belong to the Network used by all sockets that
utilize this transform; if provided, then only traffic originating from the
specified source address will be processed.
This value cannot be null . |
spi |
IpSecManager.SecurityParameterIndex : a unique IpSecManager.SecurityParameterIndex to identify transformed
traffic
This value cannot be null . |
Returns | |
---|---|
IpSecTransform |
This value cannot be null . |
Throws | |
---|---|
IllegalArgumentException |
indicating that a particular combination of transform properties is invalid |
IpSecManager.ResourceUnavailableException |
indicating that too many transforms are active |
IpSecManager.SpiUnavailableException |
indicating the rare case where an SPI collides with an existing transform |
IOException |
indicating other errors |
setAuthenticatedEncryption
public IpSecTransform.Builder setAuthenticatedEncryption (IpSecAlgorithm algo)
Set the authenticated encryption algorithm.
The Authenticated Encryption (AE) class of algorithms are also known as Authenticated Encryption with Associated Data (AEAD) algorithms, or Combined mode algorithms (as referred to in RFC 4301).
Authenticated encryption is mutually exclusive with encryption and authentication.
Parameters | |
---|---|
algo |
IpSecAlgorithm : IpSecAlgorithm specifying the authenticated encryption algorithm to
be applied.
This value cannot be null . |
Returns | |
---|---|
IpSecTransform.Builder |
This value cannot be null . |
setAuthentication
public IpSecTransform.Builder setAuthentication (IpSecAlgorithm algo)
Set the authentication (integrity) algorithm.
Authentication is mutually exclusive with authenticated encryption.
Parameters | |
---|---|
algo |
IpSecAlgorithm : IpSecAlgorithm specifying the authentication to be applied.
This value cannot be null . |
Returns | |
---|---|
IpSecTransform.Builder |
This value cannot be null . |
setEncryption
public IpSecTransform.Builder setEncryption (IpSecAlgorithm algo)
Set the encryption algorithm.
Encryption is mutually exclusive with authenticated encryption.
Parameters | |
---|---|
algo |
IpSecAlgorithm : IpSecAlgorithm specifying the encryption to be applied.
This value cannot be null . |
Returns | |
---|---|
IpSecTransform.Builder |
This value cannot be null . |
setIpv4Encapsulation
public IpSecTransform.Builder setIpv4Encapsulation (IpSecManager.UdpEncapsulationSocket localSocket, int remotePort)
Add UDP encapsulation to an IPv4 transform.
This allows IPsec traffic to pass through a NAT.
Parameters | |
---|---|
localSocket |
IpSecManager.UdpEncapsulationSocket : a socket for sending and receiving encapsulated traffic
This value cannot be null . |
remotePort |
int : the UDP port number of the remote host that will send and receive
encapsulated traffic. In the case of IKEv2, this should be port 4500. |
Returns | |
---|---|
IpSecTransform.Builder |
This value cannot be null . |