Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

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

IpSecTransform.Builder(Context context)

Create a new IpSecTransform.Builder.

Public methods

IpSecTransform buildTransportModeTransform(InetAddress sourceAddress, IpSecManager.SecurityParameterIndex spi)

Build a transport mode IpSecTransform.

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

IpSecTransform.Builder

added in API level 28
public IpSecTransform.Builder (Context context)

Create a new IpSecTransform.Builder.

Parameters
context Context: current context

This value must never be null.

Public methods

buildTransportModeTransform

added in API level 28
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 must never be null.

spi IpSecManager.SecurityParameterIndex: a unique IpSecManager.SecurityParameterIndex to identify transformed traffic

This value must never be null.

Returns
IpSecTransform

This value will never 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

added in API level 28
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 must never be null.

Returns
IpSecTransform.Builder

This value will never be null.

setAuthentication

added in API level 28
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 must never be null.

Returns
IpSecTransform.Builder

This value will never be null.

setEncryption

added in API level 28
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 must never be null.

Returns
IpSecTransform.Builder

This value will never be null.

setIpv4Encapsulation

added in API level 28
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 must never 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 will never be null.