| // 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(); |
| } |
| |
| } |
| |