xref: /aosp_15_r20/prebuilts/sdk/35/public/api/android.net.ipsec.ike.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1*344a7f5eSAndroid Build Coastguard Worker// Signature format: 2.0
2*344a7f5eSAndroid Build Coastguard Workerpackage android.net.eap {
3*344a7f5eSAndroid Build Coastguard Worker
4*344a7f5eSAndroid Build Coastguard Worker  public final class EapAkaInfo extends android.net.eap.EapInfo {
5*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getReauthId();
6*344a7f5eSAndroid Build Coastguard Worker  }
7*344a7f5eSAndroid Build Coastguard Worker
8*344a7f5eSAndroid Build Coastguard Worker  public static final class EapAkaInfo.Builder {
9*344a7f5eSAndroid Build Coastguard Worker    ctor public EapAkaInfo.Builder();
10*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapAkaInfo build();
11*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapAkaInfo.Builder setReauthId(@NonNull byte[]);
12*344a7f5eSAndroid Build Coastguard Worker  }
13*344a7f5eSAndroid Build Coastguard Worker
14*344a7f5eSAndroid Build Coastguard Worker  public abstract class EapInfo {
15*344a7f5eSAndroid Build Coastguard Worker    method public final int getEapMethodType();
16*344a7f5eSAndroid Build Coastguard Worker  }
17*344a7f5eSAndroid Build Coastguard Worker
18*344a7f5eSAndroid Build Coastguard Worker  public final class EapSessionConfig {
19*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.eap.EapSessionConfig.EapAkaConfig getEapAkaConfig();
20*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.eap.EapSessionConfig.EapAkaPrimeConfig getEapAkaPrimeConfig();
21*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public byte[] getEapIdentity();
22*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2Config();
23*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.eap.EapSessionConfig.EapSimConfig getEapSimConfig();
24*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.eap.EapSessionConfig.EapTtlsConfig getEapTtlsConfig();
25*344a7f5eSAndroid Build Coastguard Worker  }
26*344a7f5eSAndroid Build Coastguard Worker
27*344a7f5eSAndroid Build Coastguard Worker  public static final class EapSessionConfig.Builder {
28*344a7f5eSAndroid Build Coastguard Worker    ctor public EapSessionConfig.Builder();
29*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig build();
30*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int);
31*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int, @NonNull android.net.eap.EapSessionConfig.EapAkaOption);
32*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaPrimeConfig(int, int, @NonNull String, boolean);
33*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapIdentity(@NonNull byte[]);
34*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapMsChapV2Config(@NonNull String, @NonNull String);
35*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapSimConfig(int, int);
36*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapTtlsConfig(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig);
37*344a7f5eSAndroid Build Coastguard Worker  }
38*344a7f5eSAndroid Build Coastguard Worker
39*344a7f5eSAndroid Build Coastguard Worker  public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
40*344a7f5eSAndroid Build Coastguard Worker    method public int getAppType();
41*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.EapAkaOption getEapAkaOption();
42*344a7f5eSAndroid Build Coastguard Worker    method public int getSubId();
43*344a7f5eSAndroid Build Coastguard Worker  }
44*344a7f5eSAndroid Build Coastguard Worker
45*344a7f5eSAndroid Build Coastguard Worker  public static final class EapSessionConfig.EapAkaOption {
46*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public byte[] getReauthId();
47*344a7f5eSAndroid Build Coastguard Worker  }
48*344a7f5eSAndroid Build Coastguard Worker
49*344a7f5eSAndroid Build Coastguard Worker  public static final class EapSessionConfig.EapAkaOption.Builder {
50*344a7f5eSAndroid Build Coastguard Worker    ctor public EapSessionConfig.EapAkaOption.Builder();
51*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.EapAkaOption build();
52*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig.EapAkaOption.Builder setReauthId(@NonNull byte[]);
53*344a7f5eSAndroid Build Coastguard Worker  }
54*344a7f5eSAndroid Build Coastguard Worker
55*344a7f5eSAndroid Build Coastguard Worker  public static class EapSessionConfig.EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig {
56*344a7f5eSAndroid Build Coastguard Worker    method public boolean allowsMismatchedNetworkNames();
57*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getNetworkName();
58*344a7f5eSAndroid Build Coastguard Worker  }
59*344a7f5eSAndroid Build Coastguard Worker
60*344a7f5eSAndroid Build Coastguard Worker  public abstract static class EapSessionConfig.EapMethodConfig {
61*344a7f5eSAndroid Build Coastguard Worker    method public int getMethodType();
62*344a7f5eSAndroid Build Coastguard Worker    field public static final int EAP_TYPE_AKA = 23; // 0x17
63*344a7f5eSAndroid Build Coastguard Worker    field public static final int EAP_TYPE_AKA_PRIME = 50; // 0x32
64*344a7f5eSAndroid Build Coastguard Worker    field public static final int EAP_TYPE_MSCHAP_V2 = 26; // 0x1a
65*344a7f5eSAndroid Build Coastguard Worker    field public static final int EAP_TYPE_SIM = 18; // 0x12
66*344a7f5eSAndroid Build Coastguard Worker    field public static final int EAP_TYPE_TTLS = 21; // 0x15
67*344a7f5eSAndroid Build Coastguard Worker  }
68*344a7f5eSAndroid Build Coastguard Worker
69*344a7f5eSAndroid Build Coastguard Worker  public static class EapSessionConfig.EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig {
70*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getPassword();
71*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getUsername();
72*344a7f5eSAndroid Build Coastguard Worker  }
73*344a7f5eSAndroid Build Coastguard Worker
74*344a7f5eSAndroid Build Coastguard Worker  public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
75*344a7f5eSAndroid Build Coastguard Worker    method public int getAppType();
76*344a7f5eSAndroid Build Coastguard Worker    method public int getSubId();
77*344a7f5eSAndroid Build Coastguard Worker  }
78*344a7f5eSAndroid Build Coastguard Worker
79*344a7f5eSAndroid Build Coastguard Worker  public static class EapSessionConfig.EapTtlsConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
80*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig getInnerEapSessionConfig();
81*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public java.security.cert.X509Certificate getServerCaCert();
82*344a7f5eSAndroid Build Coastguard Worker  }
83*344a7f5eSAndroid Build Coastguard Worker
84*344a7f5eSAndroid Build Coastguard Worker}
85*344a7f5eSAndroid Build Coastguard Worker
86*344a7f5eSAndroid Build Coastguard Workerpackage android.net.ipsec.ike {
87*344a7f5eSAndroid Build Coastguard Worker
88*344a7f5eSAndroid Build Coastguard Worker  public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal {
89*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms();
90*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms();
91*344a7f5eSAndroid Build Coastguard Worker  }
92*344a7f5eSAndroid Build Coastguard Worker
93*344a7f5eSAndroid Build Coastguard Worker  public static final class ChildSaProposal.Builder {
94*344a7f5eSAndroid Build Coastguard Worker    ctor public ChildSaProposal.Builder();
95*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int);
96*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int);
97*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int);
98*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.ChildSaProposal build();
99*344a7f5eSAndroid Build Coastguard Worker  }
100*344a7f5eSAndroid Build Coastguard Worker
101*344a7f5eSAndroid Build Coastguard Worker  public interface ChildSessionCallback {
102*344a7f5eSAndroid Build Coastguard Worker    method public void onClosed();
103*344a7f5eSAndroid Build Coastguard Worker    method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException);
104*344a7f5eSAndroid Build Coastguard Worker    method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int);
105*344a7f5eSAndroid Build Coastguard Worker    method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int);
106*344a7f5eSAndroid Build Coastguard Worker    method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration);
107*344a7f5eSAndroid Build Coastguard Worker  }
108*344a7f5eSAndroid Build Coastguard Worker
109*344a7f5eSAndroid Build Coastguard Worker  public final class ChildSessionConfiguration {
110*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
111*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
112*344a7f5eSAndroid Build Coastguard Worker  }
113*344a7f5eSAndroid Build Coastguard Worker
114*344a7f5eSAndroid Build Coastguard Worker  public static final class ChildSessionConfiguration.Builder {
115*344a7f5eSAndroid Build Coastguard Worker    ctor public ChildSessionConfiguration.Builder(@NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>, @NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>);
116*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration build();
117*344a7f5eSAndroid Build Coastguard Worker  }
118*344a7f5eSAndroid Build Coastguard Worker
119*344a7f5eSAndroid Build Coastguard Worker  public abstract class ChildSessionParams {
120*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getChildSaProposals();
121*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds();
122*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
123*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
124*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds();
125*344a7f5eSAndroid Build Coastguard Worker  }
126*344a7f5eSAndroid Build Coastguard Worker
127*344a7f5eSAndroid Build Coastguard Worker  public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification {
128*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal);
129*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn;
130*344a7f5eSAndroid Build Coastguard Worker  }
131*344a7f5eSAndroid Build Coastguard Worker
132*344a7f5eSAndroid Build Coastguard Worker  public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification {
133*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeFqdnIdentification(@NonNull String);
134*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final String fqdn;
135*344a7f5eSAndroid Build Coastguard Worker  }
136*344a7f5eSAndroid Build Coastguard Worker
137*344a7f5eSAndroid Build Coastguard Worker  public abstract class IkeIdentification {
138*344a7f5eSAndroid Build Coastguard Worker  }
139*344a7f5eSAndroid Build Coastguard Worker
140*344a7f5eSAndroid Build Coastguard Worker  public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
141*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address);
142*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final java.net.Inet4Address ipv4Address;
143*344a7f5eSAndroid Build Coastguard Worker  }
144*344a7f5eSAndroid Build Coastguard Worker
145*344a7f5eSAndroid Build Coastguard Worker  public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
146*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address);
147*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final java.net.Inet6Address ipv6Address;
148*344a7f5eSAndroid Build Coastguard Worker  }
149*344a7f5eSAndroid Build Coastguard Worker
150*344a7f5eSAndroid Build Coastguard Worker  public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification {
151*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeKeyIdIdentification(@NonNull byte[]);
152*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final byte[] keyId;
153*344a7f5eSAndroid Build Coastguard Worker  }
154*344a7f5eSAndroid Build Coastguard Worker
155*344a7f5eSAndroid Build Coastguard Worker  public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
156*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeRfc822AddrIdentification(@NonNull String);
157*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final String rfc822Name;
158*344a7f5eSAndroid Build Coastguard Worker  }
159*344a7f5eSAndroid Build Coastguard Worker
160*344a7f5eSAndroid Build Coastguard Worker  public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal {
161*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions();
162*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms();
163*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms();
164*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedPseudorandomFunctions();
165*344a7f5eSAndroid Build Coastguard Worker  }
166*344a7f5eSAndroid Build Coastguard Worker
167*344a7f5eSAndroid Build Coastguard Worker  public static final class IkeSaProposal.Builder {
168*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeSaProposal.Builder();
169*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int);
170*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int);
171*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int);
172*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int);
173*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSaProposal build();
174*344a7f5eSAndroid Build Coastguard Worker  }
175*344a7f5eSAndroid Build Coastguard Worker
176*344a7f5eSAndroid Build Coastguard Worker  public final class IkeSession implements java.lang.AutoCloseable {
177*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeSession(@NonNull android.content.Context, @NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.net.ipsec.ike.IkeSessionCallback, @NonNull android.net.ipsec.ike.ChildSessionCallback);
178*344a7f5eSAndroid Build Coastguard Worker    method public void close();
179*344a7f5eSAndroid Build Coastguard Worker    method public void closeChildSession(@NonNull android.net.ipsec.ike.ChildSessionCallback);
180*344a7f5eSAndroid Build Coastguard Worker    method public void dump(@NonNull java.io.PrintWriter);
181*344a7f5eSAndroid Build Coastguard Worker    method public void finalize();
182*344a7f5eSAndroid Build Coastguard Worker    method public void kill();
183*344a7f5eSAndroid Build Coastguard Worker    method public void openChildSession(@NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull android.net.ipsec.ike.ChildSessionCallback);
184*344a7f5eSAndroid Build Coastguard Worker  }
185*344a7f5eSAndroid Build Coastguard Worker
186*344a7f5eSAndroid Build Coastguard Worker  public interface IkeSessionCallback {
187*344a7f5eSAndroid Build Coastguard Worker    method public void onClosed();
188*344a7f5eSAndroid Build Coastguard Worker    method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException);
189*344a7f5eSAndroid Build Coastguard Worker    method public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeException);
190*344a7f5eSAndroid Build Coastguard Worker    method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration);
191*344a7f5eSAndroid Build Coastguard Worker  }
192*344a7f5eSAndroid Build Coastguard Worker
193*344a7f5eSAndroid Build Coastguard Worker  public final class IkeSessionConfiguration {
194*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.eap.EapInfo getEapInfo();
195*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo();
196*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getRemoteApplicationVersion();
197*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<byte[]> getRemoteVendorIds();
198*344a7f5eSAndroid Build Coastguard Worker    method public boolean isIkeExtensionEnabled(int);
199*344a7f5eSAndroid Build Coastguard Worker    field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1
200*344a7f5eSAndroid Build Coastguard Worker    field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2
201*344a7f5eSAndroid Build Coastguard Worker  }
202*344a7f5eSAndroid Build Coastguard Worker
203*344a7f5eSAndroid Build Coastguard Worker  public static final class IkeSessionConfiguration.Builder {
204*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeSessionConfiguration.Builder(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
205*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addIkeExtension(int);
206*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addRemoteVendorId(@NonNull byte[]);
207*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration build();
208*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearIkeExtensions();
209*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteApplicationVersion();
210*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteVendorIds();
211*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setEapInfo(@Nullable android.net.eap.EapInfo);
212*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setRemoteApplicationVersion(@NonNull String);
213*344a7f5eSAndroid Build Coastguard Worker  }
214*344a7f5eSAndroid Build Coastguard Worker
215*344a7f5eSAndroid Build Coastguard Worker  public final class IkeSessionConnectionInfo {
216*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeSessionConnectionInfo(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network);
217*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.net.InetAddress getLocalAddress();
218*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.Network getNetwork();
219*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.net.InetAddress getRemoteAddress();
220*344a7f5eSAndroid Build Coastguard Worker  }
221*344a7f5eSAndroid Build Coastguard Worker
222*344a7f5eSAndroid Build Coastguard Worker  public final class IkeSessionParams {
223*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0x14) public int getDpdDelaySeconds();
224*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0x12c, to=0x15180) public int getHardLifetimeSeconds();
225*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.Set<java.lang.Integer> getIkeOptions();
226*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getIkeSaProposals();
227*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getLocalAuthConfig();
228*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeIdentification getLocalIdentification();
229*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0xa, to=0xe10) public int getNattKeepAliveDelaySeconds();
230*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public android.net.Network getNetwork();
231*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getRemoteAuthConfig();
232*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeIdentification getRemoteIdentification();
233*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public int[] getRetransmissionTimeoutsMillis();
234*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public String getServerHostname();
235*344a7f5eSAndroid Build Coastguard Worker    method @IntRange(from=0x78, to=0x15180) public int getSoftLifetimeSeconds();
236*344a7f5eSAndroid Build Coastguard Worker    method public boolean hasIkeOption(int);
237*344a7f5eSAndroid Build Coastguard Worker    field public static final int IKE_DPD_DELAY_SEC_DISABLED = 2147483647; // 0x7fffffff
238*344a7f5eSAndroid Build Coastguard Worker    field public static final int IKE_OPTION_ACCEPT_ANY_REMOTE_ID = 0; // 0x0
239*344a7f5eSAndroid Build Coastguard Worker    field public static final int IKE_OPTION_EAP_ONLY_AUTH = 1; // 0x1
240*344a7f5eSAndroid Build Coastguard Worker    field public static final int IKE_OPTION_FORCE_PORT_4500 = 3; // 0x3
241*344a7f5eSAndroid Build Coastguard Worker    field public static final int IKE_OPTION_INITIAL_CONTACT = 4; // 0x4
242*344a7f5eSAndroid Build Coastguard Worker    field public static final int IKE_OPTION_MOBIKE = 2; // 0x2
243*344a7f5eSAndroid Build Coastguard Worker  }
244*344a7f5eSAndroid Build Coastguard Worker
245*344a7f5eSAndroid Build Coastguard Worker  public static final class IkeSessionParams.Builder {
246*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeSessionParams.Builder();
247*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeSessionParams.Builder(@NonNull android.net.ipsec.ike.IkeSessionParams);
248*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeOption(int);
249*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
250*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams build();
251*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder removeIkeOption(int);
252*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey);
253*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.util.List<java.security.cert.X509Certificate>, @NonNull java.security.PrivateKey);
254*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthEap(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig);
255*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthPsk(@NonNull byte[]);
256*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDpdDelaySeconds(@IntRange(from=0x14) int);
257*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x15180) int, @IntRange(from=0x78, to=0x15180) int);
258*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLocalIdentification(@NonNull android.net.ipsec.ike.IkeIdentification);
259*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNattKeepAliveDelaySeconds(@IntRange(from=0xa, to=0xe10) int);
260*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNetwork(@Nullable android.net.Network);
261*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRemoteIdentification(@NonNull android.net.ipsec.ike.IkeIdentification);
262*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRetransmissionTimeoutsMillis(@NonNull int[]);
263*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setServerHostname(@NonNull String);
264*344a7f5eSAndroid Build Coastguard Worker  }
265*344a7f5eSAndroid Build Coastguard Worker
266*344a7f5eSAndroid Build Coastguard Worker  public abstract static class IkeSessionParams.IkeAuthConfig {
267*344a7f5eSAndroid Build Coastguard Worker  }
268*344a7f5eSAndroid Build Coastguard Worker
269*344a7f5eSAndroid Build Coastguard Worker  public static class IkeSessionParams.IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
270*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.security.cert.X509Certificate getClientEndCertificate();
271*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<java.security.cert.X509Certificate> getIntermediateCertificates();
272*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.security.PrivateKey getPrivateKey();
273*344a7f5eSAndroid Build Coastguard Worker  }
274*344a7f5eSAndroid Build Coastguard Worker
275*344a7f5eSAndroid Build Coastguard Worker  public static class IkeSessionParams.IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
276*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public java.security.cert.X509Certificate getRemoteCaCert();
277*344a7f5eSAndroid Build Coastguard Worker  }
278*344a7f5eSAndroid Build Coastguard Worker
279*344a7f5eSAndroid Build Coastguard Worker  public static class IkeSessionParams.IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
280*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.eap.EapSessionConfig getEapConfig();
281*344a7f5eSAndroid Build Coastguard Worker  }
282*344a7f5eSAndroid Build Coastguard Worker
283*344a7f5eSAndroid Build Coastguard Worker  public static class IkeSessionParams.IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
284*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public byte[] getPsk();
285*344a7f5eSAndroid Build Coastguard Worker  }
286*344a7f5eSAndroid Build Coastguard Worker
287*344a7f5eSAndroid Build Coastguard Worker  public final class IkeTrafficSelector {
288*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
289*344a7f5eSAndroid Build Coastguard Worker    field public final int endPort;
290*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final java.net.InetAddress endingAddress;
291*344a7f5eSAndroid Build Coastguard Worker    field public final int startPort;
292*344a7f5eSAndroid Build Coastguard Worker    field @NonNull public final java.net.InetAddress startingAddress;
293*344a7f5eSAndroid Build Coastguard Worker  }
294*344a7f5eSAndroid Build Coastguard Worker
295*344a7f5eSAndroid Build Coastguard Worker  public final class IkeTunnelConnectionParams {
296*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeTunnelConnectionParams(@NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.TunnelModeChildSessionParams);
297*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.IkeSessionParams getIkeSessionParams();
298*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams getTunnelModeChildSessionParams();
299*344a7f5eSAndroid Build Coastguard Worker  }
300*344a7f5eSAndroid Build Coastguard Worker
301*344a7f5eSAndroid Build Coastguard Worker  public abstract class SaProposal {
302*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<java.lang.Integer> getDhGroups();
303*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms();
304*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms();
305*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedDhGroups();
306*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2
307*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_1536_BIT_MODP = 5; // 0x5
308*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe
309*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_3072_BIT_MODP = 15; // 0xf
310*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_4096_BIT_MODP = 16; // 0x10
311*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_CURVE_25519 = 31; // 0x1f
312*344a7f5eSAndroid Build Coastguard Worker    field public static final int DH_GROUP_NONE = 0; // 0x0
313*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3
314*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc
315*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_AES_CTR = 13; // 0xd
316*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13
317*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14
318*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12
319*344a7f5eSAndroid Build Coastguard Worker    field public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305 = 28; // 0x1c
320*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_AES_CMAC_96 = 8; // 0x8
321*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5
322*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2
323*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc
324*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd
325*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe
326*344a7f5eSAndroid Build Coastguard Worker    field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0
327*344a7f5eSAndroid Build Coastguard Worker    field public static final int KEY_LEN_AES_128 = 128; // 0x80
328*344a7f5eSAndroid Build Coastguard Worker    field public static final int KEY_LEN_AES_192 = 192; // 0xc0
329*344a7f5eSAndroid Build Coastguard Worker    field public static final int KEY_LEN_AES_256 = 256; // 0x100
330*344a7f5eSAndroid Build Coastguard Worker    field public static final int KEY_LEN_UNUSED = 0; // 0x0
331*344a7f5eSAndroid Build Coastguard Worker    field public static final int PSEUDORANDOM_FUNCTION_AES128_CMAC = 8; // 0x8
332*344a7f5eSAndroid Build Coastguard Worker    field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4
333*344a7f5eSAndroid Build Coastguard Worker    field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2
334*344a7f5eSAndroid Build Coastguard Worker    field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5
335*344a7f5eSAndroid Build Coastguard Worker    field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6
336*344a7f5eSAndroid Build Coastguard Worker    field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7
337*344a7f5eSAndroid Build Coastguard Worker  }
338*344a7f5eSAndroid Build Coastguard Worker
339*344a7f5eSAndroid Build Coastguard Worker  public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
340*344a7f5eSAndroid Build Coastguard Worker  }
341*344a7f5eSAndroid Build Coastguard Worker
342*344a7f5eSAndroid Build Coastguard Worker  public static final class TransportModeChildSessionParams.Builder {
343*344a7f5eSAndroid Build Coastguard Worker    ctor public TransportModeChildSessionParams.Builder();
344*344a7f5eSAndroid Build Coastguard Worker    ctor public TransportModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TransportModeChildSessionParams);
345*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
346*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
347*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
348*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build();
349*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
350*344a7f5eSAndroid Build Coastguard Worker  }
351*344a7f5eSAndroid Build Coastguard Worker
352*344a7f5eSAndroid Build Coastguard Worker  public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
353*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests();
354*344a7f5eSAndroid Build Coastguard Worker  }
355*344a7f5eSAndroid Build Coastguard Worker
356*344a7f5eSAndroid Build Coastguard Worker  public static final class TunnelModeChildSessionParams.Builder {
357*344a7f5eSAndroid Build Coastguard Worker    ctor public TunnelModeChildSessionParams.Builder();
358*344a7f5eSAndroid Build Coastguard Worker    ctor public TunnelModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TunnelModeChildSessionParams);
359*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
360*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
361*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int);
362*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address);
363*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int);
364*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int);
365*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int);
366*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
367*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build();
368*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
369*344a7f5eSAndroid Build Coastguard Worker  }
370*344a7f5eSAndroid Build Coastguard Worker
371*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
372*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public java.net.Inet4Address getAddress();
373*344a7f5eSAndroid Build Coastguard Worker  }
374*344a7f5eSAndroid Build Coastguard Worker
375*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
376*344a7f5eSAndroid Build Coastguard Worker  }
377*344a7f5eSAndroid Build Coastguard Worker
378*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
379*344a7f5eSAndroid Build Coastguard Worker  }
380*344a7f5eSAndroid Build Coastguard Worker
381*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
382*344a7f5eSAndroid Build Coastguard Worker  }
383*344a7f5eSAndroid Build Coastguard Worker
384*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
385*344a7f5eSAndroid Build Coastguard Worker    method @Nullable public java.net.Inet6Address getAddress();
386*344a7f5eSAndroid Build Coastguard Worker    method public int getPrefixLength();
387*344a7f5eSAndroid Build Coastguard Worker  }
388*344a7f5eSAndroid Build Coastguard Worker
389*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
390*344a7f5eSAndroid Build Coastguard Worker  }
391*344a7f5eSAndroid Build Coastguard Worker
392*344a7f5eSAndroid Build Coastguard Worker  public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
393*344a7f5eSAndroid Build Coastguard Worker  }
394*344a7f5eSAndroid Build Coastguard Worker
395*344a7f5eSAndroid Build Coastguard Worker}
396*344a7f5eSAndroid Build Coastguard Worker
397*344a7f5eSAndroid Build Coastguard Workerpackage android.net.ipsec.ike.exceptions {
398*344a7f5eSAndroid Build Coastguard Worker
399*344a7f5eSAndroid Build Coastguard Worker  public abstract class IkeException extends java.lang.Exception {
400*344a7f5eSAndroid Build Coastguard Worker  }
401*344a7f5eSAndroid Build Coastguard Worker
402*344a7f5eSAndroid Build Coastguard Worker  public final class IkeIOException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
403*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeIOException(@NonNull java.io.IOException);
404*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public java.io.IOException getCause();
405*344a7f5eSAndroid Build Coastguard Worker  }
406*344a7f5eSAndroid Build Coastguard Worker
407*344a7f5eSAndroid Build Coastguard Worker  public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
408*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeInternalException(@NonNull Throwable);
409*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeInternalException(@NonNull String, @NonNull Throwable);
410*344a7f5eSAndroid Build Coastguard Worker  }
411*344a7f5eSAndroid Build Coastguard Worker
412*344a7f5eSAndroid Build Coastguard Worker  public final class IkeNetworkLostException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
413*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeNetworkLostException(@NonNull android.net.Network);
414*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public android.net.Network getNetwork();
415*344a7f5eSAndroid Build Coastguard Worker  }
416*344a7f5eSAndroid Build Coastguard Worker
417*344a7f5eSAndroid Build Coastguard Worker  public abstract class IkeNonProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
418*344a7f5eSAndroid Build Coastguard Worker  }
419*344a7f5eSAndroid Build Coastguard Worker
420*344a7f5eSAndroid Build Coastguard Worker  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
421*344a7f5eSAndroid Build Coastguard Worker    method public int getErrorType();
422*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18
423*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c
424*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25
425*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24
426*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4
427*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11
428*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5
429*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9
430*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27
431*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7
432*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23
433*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe
434*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22
435*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b
436*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26
437*344a7f5eSAndroid Build Coastguard Worker    field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1
438*344a7f5eSAndroid Build Coastguard Worker  }
439*344a7f5eSAndroid Build Coastguard Worker
440*344a7f5eSAndroid Build Coastguard Worker  public final class IkeTimeoutException extends java.io.IOException {
441*344a7f5eSAndroid Build Coastguard Worker    ctor public IkeTimeoutException(@NonNull String);
442*344a7f5eSAndroid Build Coastguard Worker  }
443*344a7f5eSAndroid Build Coastguard Worker
444*344a7f5eSAndroid Build Coastguard Worker  public final class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
445*344a7f5eSAndroid Build Coastguard Worker    ctor public InvalidKeException(int);
446*344a7f5eSAndroid Build Coastguard Worker    method public int getDhGroup();
447*344a7f5eSAndroid Build Coastguard Worker  }
448*344a7f5eSAndroid Build Coastguard Worker
449*344a7f5eSAndroid Build Coastguard Worker  public final class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
450*344a7f5eSAndroid Build Coastguard Worker    ctor public InvalidMajorVersionException(byte);
451*344a7f5eSAndroid Build Coastguard Worker    method public byte getMajorVersion();
452*344a7f5eSAndroid Build Coastguard Worker  }
453*344a7f5eSAndroid Build Coastguard Worker
454*344a7f5eSAndroid Build Coastguard Worker  public final class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
455*344a7f5eSAndroid Build Coastguard Worker    ctor public InvalidSelectorsException(int, @NonNull byte[]);
456*344a7f5eSAndroid Build Coastguard Worker    method @NonNull public byte[] getIpSecPacketInfo();
457*344a7f5eSAndroid Build Coastguard Worker    method public int getIpSecSpi();
458*344a7f5eSAndroid Build Coastguard Worker  }
459*344a7f5eSAndroid Build Coastguard Worker
460*344a7f5eSAndroid Build Coastguard Worker}
461*344a7f5eSAndroid Build Coastguard Worker
462