NetworkSecurityConfig


class NetworkSecurityConfig
kotlin.Any
   ↳ android.security.net.config.NetworkSecurityConfig

The security configuration to use when performing network communications.

A NetworkSecurityConfig can specify security requirements for all network communications, or for communications with a specific domain or localhost connections.

Summary

Nested classes

Builder for creating NetworkSecurityConfig objects.

Public methods
static NetworkSecurityConfig?

Returns a base NetworkSecurityConfig using the provided app's defaults.

static NetworkSecurityConfig

Returns a NetworkSecurityConfig for localhost.

Int

Boolean

Boolean

Public methods

createBaseConfig

static fun createBaseConfig(context: Context): NetworkSecurityConfig?

Returns a base NetworkSecurityConfig using the provided app's defaults.

An app default configuration has the following properties:

  1. If the application targets API level 27 (Android O MR1) or lower, cleartext traffic is allowed by default.
  2. Cleartext traffic is not permitted for ephemeral apps.
  3. No certificate pinning is used.
  4. The system certificate store is trusted for connections.
  5. If the application targets API level 23 (Android M) or lower than the user certificate store is trusted by default as well for non-privileged applications.
  6. Privileged applications do not trust the user certificate store on Android P and higher.
Parameters
context Context: of the application. Must not be null.
Return
NetworkSecurityConfig? the application NetworkSecurityConfig, or null if the config cannot be found.

createLocalhostConfig

static fun createLocalhostConfig(): NetworkSecurityConfig

Returns a NetworkSecurityConfig for localhost.

The localhost configuration has the following properties:

  1. Cleartext traffic is permitted.
  2. Certificate Transparency is disabled.
Return
NetworkSecurityConfig the NetworkSecurityConfig.
This value cannot be null.

isCertificateTransparencyVerificationRequired

fun isCertificateTransparencyVerificationRequired(): Boolean
Return
Boolean true if Certificate Transparency is required for this NetworkSecurityConfig.

isCleartextTrafficPermitted

fun isCleartextTrafficPermitted(): Boolean
Return
Boolean true if cleartext traffic is permitted for this NetworkSecurityConfig.