blob: 9d138d1b0581db422ffdc7af555d663dc00beb41 [file] [log] [blame]
// Signature format: 2.0
package android.net.ipsec.ike {
public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal {
}
public static final class ChildSaProposal.Builder {
ctor public ChildSaProposal.Builder();
method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int);
method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int);
method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int);
method @NonNull public android.net.ipsec.ike.ChildSaProposal build();
}
public interface ChildSessionCallback {
method public void onClosed();
method public void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int);
method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int);
method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration);
}
public final class ChildSessionConfiguration {
method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
}
public abstract class ChildSessionParams {
method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds();
method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds();
}
public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification {
ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal);
field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn;
}
public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification {
ctor public IkeFqdnIdentification(@NonNull String);
field @NonNull public final String fqdn;
}
public abstract class IkeIdentification {
}
public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address);
field @NonNull public final java.net.Inet4Address ipv4Address;
}
public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address);
field @NonNull public final java.net.Inet6Address ipv6Address;
}
public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification {
ctor public IkeKeyIdIdentification(@NonNull byte[]);
field @NonNull public final byte[] keyId;
}
public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
ctor public IkeRfc822AddrIdentification(@NonNull String);
field @NonNull public final String rfc822Name;
}
public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal {
method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions();
}
public static final class IkeSaProposal.Builder {
ctor public IkeSaProposal.Builder();
method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int);
method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int);
method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int);
method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int);
method @NonNull public android.net.ipsec.ike.IkeSaProposal build();
}
public interface IkeSessionCallback {
method public void onClosed();
method public void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration);
}
public final class IkeSessionConfiguration {
method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo();
method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
method @NonNull public String getRemoteApplicationVersion();
method @NonNull public java.util.List<byte[]> getRemoteVendorIds();
method public boolean isIkeExtensionEnabled(int);
field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1
field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2
}
public final class IkeSessionConnectionInfo {
method @NonNull public java.net.InetAddress getLocalAddress();
method @NonNull public android.net.Network getNetwork();
method @NonNull public java.net.InetAddress getRemoteAddress();
}
public final class IkeTrafficSelector {
ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
field public final int endPort;
field @NonNull public final java.net.InetAddress endingAddress;
field public final int startPort;
field @NonNull public final java.net.InetAddress startingAddress;
}
public abstract class SaProposal {
method @NonNull public java.util.List<java.lang.Integer> getDhGroups();
method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms();
method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms();
field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2
field public static final int DH_GROUP_1536_BIT_MODP = 5; // 0x5
field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe
field public static final int DH_GROUP_3072_BIT_MODP = 15; // 0xf
field public static final int DH_GROUP_4096_BIT_MODP = 16; // 0x10
field public static final int DH_GROUP_NONE = 0; // 0x0
field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3
field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc
field public static final int ENCRYPTION_ALGORITHM_AES_CTR = 13; // 0xd
field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13
field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14
field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12
field public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305 = 28; // 0x1c
field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5
field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2
field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc
field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd
field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe
field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0
field public static final int KEY_LEN_AES_128 = 128; // 0x80
field public static final int KEY_LEN_AES_192 = 192; // 0xc0
field public static final int KEY_LEN_AES_256 = 256; // 0x100
field public static final int KEY_LEN_UNUSED = 0; // 0x0
field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4
field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2
field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5
field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6
field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7
}
public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
}
public static final class TransportModeChildSessionParams.Builder {
ctor public TransportModeChildSessionParams.Builder();
method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build();
method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
}
public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests();
}
public static final class TunnelModeChildSessionParams.Builder {
ctor public TunnelModeChildSessionParams.Builder();
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build();
method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
}
public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
method @Nullable public java.net.Inet4Address getAddress();
}
public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
}
public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
}
public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
}
public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
method @Nullable public java.net.Inet6Address getAddress();
method public int getPrefixLength();
}
public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
}
public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
}
}
package android.net.ipsec.ike.exceptions {
public final class AuthenticationFailedException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public AuthenticationFailedException(@NonNull String);
ctor public AuthenticationFailedException(@NonNull Throwable);
}
public final class ChildSaNotFoundException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public ChildSaNotFoundException(int);
method public int getIpSecSpi();
}
public final class FailedCpRequiredException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public FailedCpRequiredException();
}
public abstract class IkeException extends java.lang.Exception {
}
public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeException {
ctor public IkeInternalException(@NonNull Throwable);
ctor public IkeInternalException(@NonNull String, @NonNull Throwable);
}
public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
method public int getErrorType();
field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18
field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c
field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25
field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24
field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4
field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11
field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5
field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9
field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27
field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7
field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23
field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe
field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22
field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b
field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26
field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1
}
public final class InternalAddressFailureException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InternalAddressFailureException();
}
public final class InvalidIkeSpiException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InvalidIkeSpiException();
}
public final class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InvalidKeException(int);
method public int getDhGroup();
}
public final class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InvalidMajorVersionException(byte);
method public byte getMajorVersion();
}
public final class InvalidMessageIdException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InvalidMessageIdException(int);
method public int getMessageId();
}
public final class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InvalidSelectorsException(int, @NonNull byte[]);
method @NonNull public byte[] getIpSecPacketInfo();
method public int getIpSecSpi();
}
public final class InvalidSyntaxException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public InvalidSyntaxException(@NonNull String);
ctor public InvalidSyntaxException(@NonNull Throwable);
ctor public InvalidSyntaxException(@NonNull String, @NonNull Throwable);
}
public final class NoAdditionalSasException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public NoAdditionalSasException();
}
public final class NoValidProposalChosenException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public NoValidProposalChosenException(@NonNull String);
ctor public NoValidProposalChosenException(@NonNull String, @NonNull Throwable);
}
public class SinglePairRequiredException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public SinglePairRequiredException();
}
public final class TemporaryFailureException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public TemporaryFailureException(@NonNull String);
}
public final class TsUnacceptableException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public TsUnacceptableException();
}
public final class UnrecognizedIkeProtocolException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public UnrecognizedIkeProtocolException(int, @NonNull byte[]);
method @NonNull public byte[] getUnrecognizedErrorData();
}
public final class UnsupportedCriticalPayloadException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
ctor public UnsupportedCriticalPayloadException(@NonNull java.util.List<java.lang.Integer>);
method @NonNull public java.util.List<java.lang.Integer> getUnsupportedCriticalPayloadList();
}
}