新聞中心
網(wǎng)絡(luò)安全性配置特性讓應(yīng)用可以在一個(gè)安全的聲明性配置文件中自定義其網(wǎng)絡(luò)安全設(shè)置,而無(wú)需修改應(yīng)用代碼??梢葬槍?duì)特定域和特定應(yīng)用配置這些設(shè)置。此特性的主要功能如下所示:

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),天等企業(yè)網(wǎng)站建設(shè),天等品牌網(wǎng)站建設(shè),網(wǎng)站定制,天等網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,天等網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
- 自定義信任錨:針對(duì)應(yīng)用的安全連接自定義哪些證書頒發(fā)機(jī)構(gòu) (CA) 值得信任。例如,信任特定的自簽署證書或限制應(yīng)用信任的公共 CA 集。
- 僅調(diào)試重寫:在應(yīng)用中以安全方式調(diào)試安全連接,而不會(huì)增加已安裝用戶的風(fēng)險(xiǎn)。
- 明文通信選擇退出:防止應(yīng)用意外使用明文通信。
- 證書固定:將應(yīng)用的安全連接限制為特定的證書。
添加安全配置文件
網(wǎng)絡(luò)安全性配置特性使用一個(gè) XML 文件,您可以在該文件中指定應(yīng)用的設(shè)置。您必須在應(yīng)用的清單中包含一個(gè)條目以指向該文件。以下代碼摘自一份清單,演示了如何創(chuàng)建此條目:
- ... >
- ...
自定義可信 CA
應(yīng)用可能需要信任自定義的 CA 集,而不是平臺(tái)默認(rèn)值。出現(xiàn)此情況的最常見(jiàn)原因包括:
- 連接到具有自定義證書頒發(fā)機(jī)構(gòu)的主機(jī),如自簽署或在公司內(nèi)部簽發(fā)的 CA。
- 將 CA 集僅限于您信任的 CA,而不是每個(gè)預(yù)裝 CA。
- 信任系統(tǒng)中未包含的附加 CA。
默認(rèn)情況下,來(lái)自所有應(yīng)用的安全連接(使用 TLS 和 HTTPS 之類的協(xié)議)均信任預(yù)裝的系統(tǒng) CA,而面向 Android 6.0(API 級(jí)別 23)及更低版本的應(yīng)用默認(rèn)情況下還會(huì)信任用戶添加的 CA 存儲(chǔ)。應(yīng)用可以使用 base-config(應(yīng)用范圍的自定義)或 domain-config(按域自定義)自定義自己的連接。
配置自定義 CA
假設(shè)您要連接到使用自簽署 SSL 證書的主機(jī),或者連接到其 SSL 證書是由您信任的非公共 CA(如公司的內(nèi)部 CA)簽發(fā)的主機(jī)。
res/xml/network_security_config.xml:
cdxwcx.com
以 PEM 或 DER 格式將自簽署或非公共 CA 證書添加到 res/raw/my_ca。
限制可信 CA 集
如果應(yīng)用不想信任系統(tǒng)信任的所有 CA,則可以自行指定,縮減要信任的 CA 集。這樣可以防止應(yīng)用信任任何其他 CA 簽發(fā)的欺詐性證書。
限制可信 CA 集的配置與針對(duì)特定域信任自定義 CA 相似,不同的是,前者要在資源中提供多個(gè) CA。
res/xml/network_security_config.xml:
secure.cdxwcx.com cdn.cdxwcx.com
以 PEM 或 DER 格式將可信 CA 添加到 res/raw/trusted_roots。請(qǐng)注意,如果使用 PEM 格式,文件必須僅包含 PEM 數(shù)據(jù),且沒(méi)有額外的文本。您還可以提供多個(gè)
信任附加 CA
應(yīng)用可能需要信任系統(tǒng)不信任的附加 CA,出現(xiàn)此情況的原因可能是系統(tǒng)還未包含此 CA,或 CA 不符合添加到 Android 系統(tǒng)中的要求。應(yīng)用可以通過(guò)為一個(gè)配置指定多個(gè)證書源來(lái)實(shí)現(xiàn)此目的。
res/xml/network_security_config.xml:
配置用于調(diào)試的 CA
調(diào)試通過(guò) HTTPS 連接的應(yīng)用時(shí),您可能需要連接到?jīng)]有為生產(chǎn)服務(wù)器提供 SSL 證書的本地開(kāi)發(fā)服務(wù)器。為了支持此操作,而又不對(duì)應(yīng)用的代碼進(jìn)行任何修改,您可以通過(guò)使用 debug-overrides 指定僅在 android:debuggable 為 true 時(shí)才可信的僅調(diào)試 CA。通常,IDE 和構(gòu)建工具會(huì)自動(dòng)為非發(fā)布版本設(shè)置此標(biāo)記。
這比一般的條件代碼更安全,因?yàn)槌鲇诎踩紤],應(yīng)用存儲(chǔ)不接受被標(biāo)記為可調(diào)試的應(yīng)用。
res/xml/network_security_config.xml:
選擇退出明文通信
旨在連接到僅使用安全連接的目的地的應(yīng)用可以選擇不再對(duì)這些目的地提供明文(使用解密的 HTTP 協(xié)議而非 HTTPS)支持。此選項(xiàng)有助于防止應(yīng)用因外部源(如后端服務(wù)器)提供的網(wǎng)址發(fā)生變化而意外回歸。請(qǐng)參閱 NetworkSecurityPolicy.isCleartextTrafficPermitted(),了解更多詳情。
例如,應(yīng)用可能需要確保與 secure.cdxwcx.com 的所有連接始終通過(guò) HTTPS 完成,以防止來(lái)自惡意網(wǎng)絡(luò)的敏感流量。
res/xml/network_security_config.xml:
secure.cdxwcx.com
固定證書
一般情況下,應(yīng)用信任所有預(yù)裝 CA。如果有預(yù)裝 CA 簽發(fā)欺詐性證書,則應(yīng)用將面臨被中間人攻擊的風(fēng)險(xiǎn)。有些應(yīng)用通過(guò)限制信任的 CA 集或通過(guò)證書固定來(lái)選擇限制其接受的證書集。
通過(guò)按公鑰的哈希值(X.509 證書的 SubjectPublicKeyInfo)提供證書集完成證書固定。然后,只有至少包含一個(gè)已固定的公鑰時(shí),證書鏈才有效。
請(qǐng)注意,使用證書固定時(shí),您應(yīng)始終包含一個(gè)備份密鑰,這樣,當(dāng)您被強(qiáng)制切換到新密鑰或更改 CA 時(shí)(固定到某個(gè) CA 證書或該 CA 的中間證書時(shí)),您應(yīng)用的連接性不會(huì)受到影響。否則,您必須推送應(yīng)用的更新以恢復(fù)連接性。
此外,可以設(shè)置固定的到期時(shí)間,在該時(shí)間之后不執(zhí)行證書固定。這有助于防止尚未更新的應(yīng)用出現(xiàn)連接性問(wèn)題。不過(guò),設(shè)置固定的到期時(shí)間可能會(huì)繞過(guò)證書固定。
res/xml/network_security_config.xml:
cdxwcx.com 7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y= fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=
配置繼承行為
將繼承未在特定配置中設(shè)置的值。此行為允許進(jìn)行更復(fù)雜的配置,同時(shí)又能保證配置文件可讀。
如果未在特定條目中設(shè)置值,將使用來(lái)自更通用條目中的值。例如,未在 domain-config 中設(shè)置的值將從父級(jí) domain-config(如果已嵌套)或者 base-config(如果未嵌套)中獲取。未在 base-config 中設(shè)置的值將使用平臺(tái)默認(rèn)值。
例如,到 cdxwcx.com 的子域的所有連接都必須使用自定義 CA 集。此外,允許使用這些域的明文通信,連接到 secure.cdxwcx.com 時(shí)除外。通過(guò)在 cdxwcx.com 的配置中嵌套 secure.cdxwcx.com 的配置,不需要重復(fù) trust-anchors。
res/xml/network_security_config.xml:
cdxwcx.com secure.cdxwcx.com
配置文件格式
網(wǎng)絡(luò)安全性配置特性使用 XML 文件格式。文件的整體結(jié)構(gòu)如以下代碼示例所示:
網(wǎng)站題目:Android網(wǎng)絡(luò)安全性配置
文章鏈接:http://fisionsoft.com.cn/article/djecssd.html


咨詢
建站咨詢
