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 |
|
| Public methods | |
|---|---|
| static NetworkSecurityConfig? |
createBaseConfig(context: Context)Returns a base |
| static NetworkSecurityConfig |
Returns a |
| 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:
- If the application targets API level 27 (Android O MR1) or lower, cleartext traffic is allowed by default.
- Cleartext traffic is not permitted for ephemeral apps.
- No certificate pinning is used.
- The system certificate store is trusted for connections.
- 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.
- 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:
- Cleartext traffic is permitted.
- Certificate Transparency is disabled.
| Return | |
|---|---|
NetworkSecurityConfig |
the NetworkSecurityConfig. This value cannot be null. |
getDomainEncryptionMode
fun getDomainEncryptionMode(): Int
| Return | |
|---|---|
Int |
the domain encryption mode. For possible values see NetworkSecurityPolicy.getDomainEncryptionMode(String). Value is one of the following: |
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. |