国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS應用網絡連接安全配置方案

HarmonyOS開發者 ? 來源:HarmonyOS開發者 ? 2025-10-24 14:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

應用與服務器之間的數據傳輸需確保安全,保護數據的機密性和完整性,防止敏感數據被竊取和篡改。推薦使用傳輸層安全協議(TLS)保護數據安全。

當應用通過HTTPS訪問云側服務器時,如果信任了用戶安裝的CA證書,用戶可以通過網絡代理工具(如Fiddler、Charles)對HTTPS消息進行中間人攻擊,如查看、篡改請求和響應消息,這可能導致應用或云側服務器產生安全風險。因此,通過HTTPS訪問云側服務器時,應配置CA證書進行合法性校驗。

本文介紹如何配置CA證書以進行合法性校驗,避免應用或云側服務器的安全風險。

af8c6252-ab44-11f0-8c8f-92fbcf53809c.png

配置CA證書對服務器進行合法性校驗

當應用通過TLS協議連接服務器時,服務器會提供證書鏈來證明其身份,應用需要使用可信的CA(證書頒發機構)證書對服務器證書鏈進行合法性校驗。

服務器根據場景使用不同類型的CA頒發的證書鏈:

權威CA證書,如CFCA、GlobalSign CA機構的根CA證書,滿足業界管理規范并通過審計認證,可信度高。

企業自建的CA證書,用于企業內部服務器的證書鏈。企業內部應用直接信任此類CA證書。

系統提供3種CA證書管理方式:

系統預置CA證書:系統預置了業界主流的權威CA證書。

應用管理的CA證書:應用可在Hap內預置可信的CA證書,如企業內部自建的CA證書。

用戶安裝的CA證書:通過系統設置界面安裝的私有CA證書。這類證書可信度較低,可能被用于中間人攻擊。

開發者應結合應用的業務場景,在不影響業務功能的前提下,合理設置可信CA證書的范圍:

面向互聯網用戶的應用,建議只配置信任系統預置的CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section121091116142117)。

只訪問企業內部服務器的應用,建議只配置信任應用管理的CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section05271716102218)。

同時訪問企業內部服務器和互聯網服務的應用,建議根據訪問的服務器域名分別配置信任系統預置的CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section121091116142117)或應用管理的CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section05271716102218)。

應用開發和調測過程中需要進行網絡抓包以定位問題和測試,建議僅在調測版本配置信任用戶安裝的CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section12518142215236)。

應用需支持通過企業代理服務器訪問應用服務器,可信任企業MDM系統或設備管理員用戶手動安裝CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section12518142215236)。然而,設備管理員用戶可能通過代理工具抓取應用網絡數據,建議在應用層實施安全防護,如對敏感數據進行二次加密或簽名。

對于需要較高網絡安全的應用(如金融支付、銀行類應用),配置CA證書后,通過SSL Pinning方式(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section4337175511234)綁定服務器證書的公鑰,以增強安全性。

網絡連接安全配置

配置信任系統預置的CA證書

如果應用使用第三方庫進行網絡連接,需要手動設置系統預置的CA證書路徑:/etc/security/certificates。

示例:

使用三方庫curl進行HTTPS連接,通過下面代碼設置信任的CA證書路徑:

curl_easy_setopt(curl, CURLOPT_CATH,"/etc/security/certificates");

配置不信任用戶安裝的CA證書

Network Kit和Remote Communication Kit配置不信任用戶安裝的CA證書:在src/main/resources/base/profile/network_config.json配置文件(https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/http-request#%E9%85%8D%E7%BD%AE%E8%AF%81%E4%B9%A6%E6%A0%A1%E9%AA%8C)中進行配置。

{
"network-security-config": {
  ... ...
 },
"trust-global-user-ca":false, //Configure whether to trust the CA certificate manually installed by the enterprise MDM system or device administrator. The default value is true
"trust-current-user-ca":false// Configure whether to trust the CA certificate installed by the current user. The default value is true
}

配置信任應用管理的CA證書

如果應用服務器使用企業內部自建的CA證書,可以在Hap包中預置這些CA證書,并配置信任。

Network Kit和Remote Communication Kit可以通過src/main/resources/base/profile/network_config.json文件進行配置。例如,可以將應用級信任的 CA 證書預置到/data/storage/el1/bundle/entry/resources/resfile/appCaCert目錄,將特定域名信任的CA 證書預置到/data/storage/el1/bundle/entry/resources/resfile/domainCaCert目錄。

{
"network-security-config":{
 "base-config":{
  "trust-anchors":[
   {
    "certificates":"/data/storage/el1/bundle/entry/resources/resfile/appCaCert"
   }
  ]
 },
 "domain-config":[
  {
   "domains":[
    {
     "include-subdomains":true,
     "name":"example.com"
    }
   ],
   "trust-anchors":[
    {
     "certificates":"/data/storage/el1/bundle/entry/resources/resfile/domainCaCert"
    }
   ]
  }
 ]
}
}
Network Kit也支持在發起HTTPS請求的代碼中指定信任的CA證書路徑(https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-http#httprequestoptions):
httpRequest.request('EXAMPLE_URL', {
 method: http.RequestMethod.POST,
 header: {
 'Content-Type':'application/json'
 },
 extraData:'data to send',
 expectDataType: http.HttpDataType.STRING,
 connectTimeout:60000,
 caPath:'/data/storage/el1/bundle/entry/resources/resfile/domainCaCert', // Specifies the trusted CA certificate path
}, (err: BusinessError,data: http.HttpResponse) => {
// ...
})
Remote Communication Kit也支持在代碼中指定信任的CA證書路徑(https://developer.huawei.com/consumer/cn/doc/harmonyos-references/remote-communication-rcp#section1597118916425):
constcaPath: rcp.CertificateAuthority = {
 folderPath:'/data/storage/el1/bundle/entry/resources/resfile/appCaCert',// 指定信任的CA證書路徑
}
constsecurityConfig: rcp.SecurityConfiguration = {
 remoteValidation: caPath
};
// Use the security configuration in the session creation
constsessionWithSecurityConfig= rcp.createSession({requestConfiguration: {security: securityConfig } });

說明

系統Network Kit和Remote Communication Kit在完成上述配置后,HTTPS連接仍信任系統預置的CA證書和用戶安裝的CA證書。如需提升安全性,可配置不信任用戶安裝的CA證書(https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-network-ca-security#section11935814273)。

如果應用使用三方庫進行網絡連接,需要在代碼中設置應用管理的CA證書路徑。例如,使用三方庫curl進行HTTPS連接時,可以通過以下代碼設置信任的CA證書路徑:

curl_easy_setopt(curl, CURLOPT_CATH,"/data/storage/el1/bundle/entry/resources/resfile/domainCaCert");


配置信任用戶安裝的CA證書

用戶安裝的CA證書可信度較低,除以下場景外,建議應用不信任用戶安裝的CA證書:

應用開發和調測過程中需要進行網絡抓包以定位問題和測試。用戶通過系統的設置界面安裝的CA證書,保存在目錄:/data/certificates/user_cacerts/{userid},其中 userid 從100開始。

**注意:**在商用發布的應用版本中應該不信任用戶安裝的CA證書。

面向2B企業應用的場景,應用需支持通過企業代理服務器訪問應用服務器。設備需通過企業的MDM系統或設備管理員用戶手工安裝CA證書,并保存在目錄:/data/certificates/user_cacerts/0。

配置SSL Pinning證書鎖定

應用默認信任系統預置的CA證書。如果預置的CA頒發了不可信證書,應用將面臨攻擊風險。對于需要高網絡安全的應用,如金融支付和銀行類應用,可以通過配置SSL Pinning證書鎖定方式,僅信任指定服務器證書的公鑰。

配置SSL Pinning支持兩種方式。如果服務器域名固定,建議采用靜態SSL Pinning。否則,采用動態SSL Pinning。

說明

SSL Pinning要求應用云側服務器證書的公鑰不能變化。如果公鑰發生變化,需要修改應用內配置的證書公鑰,否則應用的網絡連接將失敗。因此,建議SSL Pinning配置始終包含至少一個備用公鑰。
應用還可以設置SSL Pinning的到期時間。到期后,證書將不再被鎖定,這有助于在服務器證書公鑰變化時防止尚未更新的應用出現連接問題。然而,設置SSL Pinning的到期時間可能會使攻擊者繞過證書鎖定。
請開發者評估并決定是否配置安全風險和SSL Pinning的限制約束。如果應用在應用層對敏感信息進行了加密或簽名,則安全風險較低。

1. 通過network_config.json文件進行靜態SSL Pinning配置:

{
"network-security-config":{
 "domain-config":[
  {
   "domains":[
    {
     "include-subdomains":true,
     "name":"server.com"
    }
   ],
   "pin-set":{
    "expiration":"2024-11-08",
    "pin":[
     {
      "digest-algorithm":"sha256",
      "digest":"g8CsdcpyAKxmLoWFvMd2hC7ZDUy7L4E2NYOi1i8qEtE="http:// Hash of the server certificate public key
     }
    ]
   }
  }
 ]
}
}
具體可參考配置指導的“預置鎖定證書PIN”章節(https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/http-request#%E8%AF%81%E4%B9%A6%E9%94%81%E5%AE%9A)。

2. 通過在代碼中動態設置進行動態SSL Pinning配置:

· Network Kit配置動態SSL Pinning:

certificatePinning: [//Optional, supports dynamic setting of certificate lock configuration information. This property is supported since API 12
 {
  publicKeyHash:'g8CsdcpyAKxmLoWFvMd2hC7ZDUy7L4E2NYOi1i8qEtE=',// Hash of the server certificate public key
  hashAlgorithm:'SHA-256'
  }, {
  publicKeyHash:'MGFiY2UyMDk5ZjEyMzI3MWQ4MDMyY2E4ODEzMmY3EtE=',// Hash of the secondary public key of the server certificate
  hashAlgorithm:'SHA-256'
 }
]
具體可參考配置指導的“certificatePinning”參數說明(https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-http#httprequestoptions)。
· Remote Communication Kit配置動態SSL Pinning:
constkeyHash:string='g8CsdcpyAKxmLoWFvMd2hC7ZDUy7L4E2NYOi1i8qEtE=';// Public key of the server certificate
constsession = rcp.createSession();
constrequest =newrcp.Request(HTTP_SERVER);
constpin: rcp.CertificatePinning = {
 kind:'public-key',
 publicKeyHash: keyHash,
 hashAlgorithm:'SHA-256'
};
request.configuration = {
 security: {
  certificatePinning: pin,
 }
};
constresp =awaitsession.fetch(request);
具體可參考配置指導的“certificatePinning”參數說明。
(https://developer.huawei.com/consumer/cn/doc/harmonyos-references/remote-communication-rcp#section1597118916425)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    13

    文章

    10065

    瀏覽量

    90734
  • 網絡安全
    +關注

    關注

    11

    文章

    3440

    瀏覽量

    62843
  • HarmonyOS
    +關注

    關注

    80

    文章

    2146

    瀏覽量

    35476

原文標題:HarmonyOS應用網絡連接安全配置方案

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    關于網絡連接轉換問題的解答【電子發燒友】

    關于網絡連接轉換問題的解答【電子發燒友】  根據用戶的反映我們現在找出一個用戶的問題來解決,是關于網絡連接的轉換問題,大家可能不太清楚這是一個什么問題,看看用戶的疑問就知道了。湖南的朋友問:我的電腦
    發表于 04-10 14:36

    關于網絡連接問題

    新買的宏基 Aspira iv 5本子,無法新建網絡連接。它的網絡接口是用擴展器擴展出來的。新建網絡連接時顯示的是window無法檢測到調制解調器。網卡的驅動已經重新下載過了,正常運行。和貓
    發表于 05-24 15:02

    便攜數據庫管理系統的網絡連接安全,不看肯定后悔

    本文介紹掌上電腦無線網絡配置,涉及PocketDBA應用程序的組成、Web裁剪技術、通信協議、無線網絡連接的相關設備及其功能;PocketDBAw使用時安全設置,包括數據的機密性、完整
    發表于 06-04 07:01

    下載HarmonyOS SDK時,提示網絡連接錯誤的解決辦法

    網絡連接正常,下載HarmonyOS SDK時,卻提示網絡連接錯誤。解決措施可能因為區域是修改前PC的系統語言,區域是修改密碼。在 C:Users username
    發表于 04-13 10:52

    基于802.1X 的可信網絡連接技術

    網絡訪問控制技術能有效防止不安全終端對網絡的威脅。該文介紹網絡訪問控制技術的研究現狀,針對其實現中存在的問題,提出基于802.1X 的可信網絡連接
    發表于 03-20 15:48 ?13次下載

    便攜數據庫管理系統的網絡連接安全

    介紹掌上電腦無線網絡配置, 涉及PocketDBA 應用程序的組成、Web 裁剪技術、通信協議、無線網絡連接的相關設備及其功能;PocketDBA使用時安全設置,包括數據的機密性、完整
    發表于 04-16 11:06 ?18次下載

    便攜數據庫管理系統的網絡連接安全

    介紹掌上電腦無線網絡配置, 涉及PocketDBA 應用程序的組成、Web 裁剪技術、通信協議、無線網絡連接的相關設備及其功能;PocketDBA使用時安全設置,包括數據的機密性、完整
    發表于 05-14 15:52 ?14次下載

    基于可信網絡連接安全接入技術

    網絡訪問控制中,驗證終端實體的完整性狀態,對于網絡安全具有十分重要的意義。而傳統的網絡安全解決方案對此卻無能為力。利用可信網絡連接技術,可
    發表于 08-25 08:40 ?10次下載

    網絡連接技術

    網絡連接技術 網絡連接技術用于連接外圍設備到計算機、計算機到計算機、計算機到網絡設備、網絡設備到網絡
    發表于 03-20 16:05 ?1399次閱讀

    網絡連接存儲器,什么是網絡連接存儲器

    網絡連接存儲器,什么是網絡連接存儲器 NAS是一種直接掛接到網絡中的存儲設備,其允許客戶機訪問存儲器,就像存儲器直接與它們的系
    發表于 04-06 09:55 ?1398次閱讀

    Linux教程之如何配置網絡連接的資料概述

    本文檔的主要內容詳細介紹的是Linux教程之如何配置網絡連接的資料概述學習目標:● 學會使用網絡管理工具配置網絡連接● 熟悉使用KPPP
    發表于 11-09 17:42 ?17次下載
    Linux教程之如何<b class='flag-5'>配置</b><b class='flag-5'>網絡連接</b>的資料概述

    面向EtherCAT運動控制應用的網絡連接解決方案

    面向EtherCAT運動控制應用的網絡連接解決方案。通過我們的混合信號運動控制處理解決方案,了解實時、多協議網絡交換技術。這將針對工業伺服和機器人應用。
    的頭像 發表于 06-17 06:14 ?4254次閱讀

    TogetherROS系統中如何配置網絡連接

    無論是旭日X3派,還是TogetherROS,在正式使用之前,都還需要進行一些必要的配置,完善必要的功能模塊,提供完整的算力支持,達到最佳狀態。 網絡連接 第一個配置,是無線網絡連接。
    的頭像 發表于 12-01 15:39 ?960次閱讀
    TogetherROS系統中如何<b class='flag-5'>配置</b><b class='flag-5'>網絡連接</b>

    如何解決Linux系統中的網絡連接問題?

    如何解決Linux系統中的網絡連接問題? Linux系統中的網絡連接問題是常見的技術難題之一,通常涉及在Linux上配置網絡接口、解決網絡
    的頭像 發表于 01-12 15:17 ?2023次閱讀

    海外靜態IP:為企業打造安全穩定的網絡連接

    海外靜態IP對于企業而言,是構建安全穩定網絡連接的重要基石。
    的頭像 發表于 11-16 16:40 ?1038次閱讀