network_security_config.xml
时间: 2023-05-01 14:04:31 浏览: 57
b'network_security_config.xml'是一个用于Android应用程序的配置文件,可用于指定应用程序与其远程服务通信时所需的安全设置和策略,例如SSL / TLS版本、加密算法、证书验证等。它旨在提高应用程序的安全性和隐私保护。
相关问题
etwork_security_config.xml代码内容
以下是一个示例的 `network_security_config.xml` 文件:
```xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="false">
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">example.com</domain>
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
<pin-set>
<pin digest="SHA-256">abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890</pin>
</pin-set>
</domain-config>
</network-security-config>
```
其中:
- `base-config` 元素指定了基本的网络安全配置,包括是否允许明文流量和可信证书列表。在这个示例中,明文流量被禁止,并且信任的证书存储在 `@raw/my_ca` 文件中。
- `domain-config` 元素指定了特定域名的网络安全配置,包括是否允许明文流量、信任的证书和公钥固定(pin)等。在这个示例中,`example.com` 域名被指定,并且明文流量被禁止。证书和公钥固定都存储在 `@raw/my_ca` 文件中。
注意:使用网络安全配置时,需要在 AndroidManifest.xml 文件中声明使用它,例如:
```xml
<application
...
android:networkSecurityConfig="@xml/network_security_config">
...
</application>
```
编写etwork_security_config.xml完整代码
以下是一个完整的 `network_security_config.xml` 文件的示例:
```xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<!-- 基本配置 -->
<base-config cleartextTrafficPermitted="false">
<!-- 可信证书列表 -->
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
</base-config>
<!-- 针对特定域名的配置 -->
<domain-config cleartextTrafficPermitted="false">
<!-- 域名 -->
<domain includeSubdomains="true">example.com</domain>
<!-- 可信证书列表 -->
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
<!-- 公钥固定 -->
<pin-set>
<pin digest="SHA-256">abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890</pin>
</pin-set>
</domain-config>
<!-- 针对另一个特定域名的配置 -->
<domain-config cleartextTrafficPermitted="false">
<!-- 域名 -->
<domain includeSubdomains="false">example.net</domain>
<!-- 可信证书列表 -->
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
<!-- 公钥固定 -->
<pin-set>
<pin digest="SHA-256">1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef</pin>
</pin-set>
</domain-config>
</network-security-config>
```
在这个示例中,我们定义了三个部分:
- 基本配置,禁止明文流量,并且信任的证书存储在 `@raw/my_ca` 文件中。
- 针对 `example.com` 域名的配置,同样禁止明文流量,在信任的证书列表中添加了 `@raw/my_ca`。
- 针对 `example.net` 域名的配置,同样禁止明文流量,在信任的证书列表中添加了 `@raw/my_ca`,并且指定了一个不同的公钥固定。
需要注意的是,在使用网络安全配置时,需要在 AndroidManifest.xml 文件中声明使用它,例如:
```xml
<application
...
android:networkSecurityConfig="@xml/network_security_config">
...
</application>
```
相关推荐
![aar](https://img-home.csdnimg.cn/images/20210720083646.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)