The AWNetworkLibrary provides SDK capabilities like application tunneling and integrated authentication using NTLM and SSL/TLS client certificates for various HTTP clients.

The AWNetworkLibrary does not require the use of AirWatch-provided HTTP clients or WebView to tunnel requests through the VMware Tunnel Proxy. Use common HTTP clients or the default WebView. The AWNetworkLibrary also provides new APIs for NTLM or SSL/TLS integrated authentication that you can use with available HTTP client APIs. Review the tables to see what methods have changed to configure these features.

Applications using the existing provided HTTP Client and WebView classes do not require any changes.

Application Tunneling

Use any HTTP clients or the default WebView for tunneling application traffic through the VMware Tunnel Proxy.

Capability Previous Requirements Updated Requirement
Application Tunneling
Tunnel HTTP request with the VMware Tunnel Proxy. Use AWHttpClient, AWUrlConnection, or AWOkHttpClient. Use any HTTP client.
Tunnel WebView requests with the VMware Tunnel Proxy. Use AWWebView. Use the default WebView.

Integrated Authentication

Use APIs with various HTTP clients for integrated authentication using the NTLM method or SSL/TLS client certificates. These APIs eliminate the need to provide HTTP clients in some cases.

Note:

Developers that use the existing APIs to achieve integrated authentication functionality do not require any changes.

Note:

Find code samples that use the integrated authentication APIs in the IntegratedAuthActivity.java file in the sample application.

Capability Previous Requirements Updated Requirement
Integrated Authentication - NTLM
Add support for NTLM integrated authentication for HTTP clients. Use AWHttpClient or NTLMHttpUrlConnection as wrapper classes.
  • For Apache HttpClient register an NTLM AuthScheme and add an AWAuthInterceptor request interceptor.
  • For UrlConnection, there is no change. Use NTLMHttpUrlConnection.
  • For OkHttpClient, set an instance of AWOkHttpAuthenticator as an authenticator.
Add support for NTLM integrated authentication for WebViews. Use AWWebView or AWWWebViewclient.

No change. Use one of the listed methods.

  • Set an instance of AWWebViewClient as the WebViewClient for the WebView.
  • Extend the AWWebViewClient class and customize it for several methods.
Integrated Authentication - SSL Client Certificate
Add support for SSL client certificate authentication for HTTP clients. Use AWHttpClient and AWUrlConnection.

Use the API called AWCertAuthUtil. It provides methods to construct an SSLContext instance with the required certificates for authentication. You can then plug it into various HTTP clients like Apache HTTP Client, URLConnection, and OKHttpClient.

For example, for HttpClient, retrieve a list of KeyManagers from the API AWCertAuthUtil.getCertAuthKeyManagers(). Use this list to construct an instance of SSLContext. Obtain an instance of SSLSocketFactory from the SSLContext instance and use it in the HttpClient.

Add support for SSL client certificate authentication with WebViews. Use AWWebViewClient. No change. Use AWWWebViewClient. Extend the class and override unneeded behaviors.