在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

雅特力AT32 MCU基于mbed TLS的HTTPS服務器

雅特力 AT32 MCU ? 2024-01-06 08:14 ? 次閱讀

HTTPS概述

HTTPS的安全性是基于Transport Layer Security (TLS), TLS是一種網絡加密通信的方式,作為Secure Sockets Layer (SSL)的接續協議,TLS允許客戶端與服務端的互相驗證。TLS以憑證為概念,憑證包含:公鑰、服務器身份、憑證頒發單位的簽名。對應的私鑰永遠不會公開,任何使用私鑰加密的密鑰數據只能用公鑰來解密,反之亦然。整個加密通信流程,可以透過圖1來簡單描述:1.客戶端發起hello交握:給服務器的訊息有:

  • 包含時間戳的32位隨機數字client_random
  • 加密協定
  • 客戶端支持的加密方式

2. 服務端必須要有一套證書,可以自制或向組織申請。自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,使用受信任單位申請的證書不會彈出提示頁面。3. 一對公鑰和私鑰,可以想象成一把鑰匙(私鑰)和一個鎖頭(公鑰),把鎖頭給客戶端將重要的數據鎖起來,客戶端將鎖好的數據傳給服務器,只有服務器有開鎖的鑰匙可以解開,所以即使傳送過程被截取也無法破解。4. 對于客戶端的hello交握,服務端響應以下訊息給客戶端:

  • 另一個包含時間戳的32位隨機數字server_random
  • 加密協定
  • 加密方式
  • 服務器證書:包含擁有者名稱、網站地址、證書公鑰、證書頒發機構數字簽名、過期時間等。

5. 客戶端驗證服務器傳來的憑證是否有效?例如頒發機構、過期時間等,如果發現異常,則會彈出一個警告框,提示證書存在問題。(本應用筆記不是使用第三方證書授權中心(CA)簽發的憑證,而是使用自己頒發的憑證,所以客戶端必須先取得簽發機構的公鑰(下一節的kvm5.pem)來驗證頒發機構簽名,才不會彈出警告框)6. 在此之前的所有TLS交握訊息都是明文傳送,現在收到服務器的證書且驗證沒問題,則客戶端先產生PreMaster_Secret

  • 使用加密算法,例如:RSA, Diffie-Hellman,對server_random運算產生。
  • 或稱PreMaster_Key
  • 是一個48個位的Key,前2個字節是協議版本號,后46字節是用在對稱加密密鑰的隨機數字。

7. 客戶端用服務端送來的公鑰加密PreMaster_Secret。8. 客戶端將加密的PreMaster_Secret傳送給服務端,目的是讓服務端可以像客戶端用一樣隨機值產生Master_Secret。9. 服務端用私鑰解密PreMaster_Secret。

  • 此時客戶端與服服務端都有一份相同的PreMaster_Secret和隨機數client_random, server_random。
  • 使用client_random及server_random當種子,結合PreMaster_Secret,客戶端和服務端將計算出同樣的Master_Secret。
  • 作為資料加解密相關的Key Material。

10. 作為資料加解密相關的Key Material。11. 作為資料加解密相關的Key Material。圖1. HTTPS原理9945cd70-ac28-11ee-aa22-92fbcf53809c.png

例 HTTPS服務器

功能簡介

本示例需要使用到EMAC的功能,搭配LwIP協議棧,此協議棧有提供HTTPS的API, 但會使用到mbed TLS的加密功能,這包庫從Keil的官方網站或是透過Keil內的Pack Installer可以獲得。圖2. 透過Run-Time管理器加入mbed TLS99530666-ac28-11ee-aa22-92fbcf53809c.png

資源準備

1) 硬件環境:對應產品型號的AT-START BOARD2) 軟件環境at32f4xx\project\mdk_v5

軟件設計

1) 配置流程

  • 配置EMAC功能
  • 初始化LwIP協議棧
  • 配置私鑰及CA憑證給服務器
  • 初始化HTTPS服務器

2) 代碼介紹

  • ssl_server函數代碼描述

996325d2-ac28-11ee-aa22-92fbcf53809c.png

使用OpenSSL建立自簽憑證

在本應用筆記中,我們將使用自簽憑證來建立TLS聯機,而發行自簽憑證會使用到OpenSSL這個工具,以下會簡單介紹在Windows上及在Linux Ubuntu上,如何安裝OpenSSL。

  • Windows

因為OpenSSL未提供可執行的安裝檔,因此我們透過Git for Windows來達到安裝OpenSSL的目的;當安裝完成后,默認執行文件路徑為C:\ProgramFiles\Git\usr\bin\openssl.exe,你可以將C:\Program Files\Git\usr\bin路徑加入到PATH環境變量之中,以后就可以直接輸入openssl來執行此工具。

  • Ubuntu

只需要在終端機中下命令997e9826-ac28-11ee-aa22-92fbcf53809c.png在確定PC上有OpenSSL這個工具后,基本上只要按照以下步驟,就一定可以建立出合法的自簽憑證:1.?建立ssl.conf配置文件9988a118-ac28-11ee-aa22-92fbcf53809c.png上述配置文件內容的[dn]區段(Distinguished Name)為憑證的相關信息,你可以自由調整為你想設定的內容,其中O(Organization)是公司名稱,OU(Organization Unit)是部門名稱,而CN(Common Name)則是憑證名稱,你可以設定任意名稱,設定中文也可以,但請記得檔案要以UTF-8編碼存盤,且不能有BOM字符。配置文件的[alt_names]區段,則是用來設定SSL憑證的域名,這部分設定相當重要,如果沒有設定的話,許多瀏覽器都會將憑證視為無效憑證。這部分你要設定幾組域名都可以,基本上沒有什么上限,因為自簽憑證主要目的是用來開發測試之用,因此建議可以把可能會用到的本機域名(localhost)或是局域網絡的IP地址都加上去,以便后續進行遠程聯機測試。2.?打開終端機工具后,切換到存放ssl.conf的目錄下后,透過OpenSSL命令產生出自簽憑證與相對應的私鑰,輸入以下命令就可以建立出私鑰(server.key)與憑證檔案(server.crt):99aa4d22-ac28-11ee-aa22-92fbcf53809c.png生成的私鑰與憑證檔案會跟ssl.conf在同一個目錄下。3.?匯入自簽憑證到「受信任的跟證書授權單位」光是建立好自簽憑證還是不夠的,網站服務器也設定正確才行,這畢竟是一個PKI基礎架構,你還必須讓所有需要安全聯機的端點都能互相信任才行,因此你還須將建立好的自簽憑證安裝到「受信任的跟證書授權單位」之中,這樣子你的操作系統或瀏覽器才能將你的自簽憑證視為「可信任的聯機」。以下為手動匯入的步驟:

  • 開啟檔案總管,并鼠標雙擊server.crt檔案
  • 點擊「安裝憑證」按鈕
  • 選取「目前使用者」并按「下一步」繼續
  • 選取「將所有憑證放入以下的存放區」并按下「瀏覽」按鈕
  • 選取「受信任的跟證書授權單位」并按下「確定」
  • 按「下一步」繼續
  • 按「完成」繼續
  • 在安全性警告窗口按下「是(Y)」即可完成設定

4.將私鑰及憑證匯入到TLS serverTLS server負責解密數據,在本應用筆記中就是MCU端,分別將私鑰及憑證填入demo code中的mbedtls_test_srv_key及mbedtls_test_srv_crt即可。

實驗效果

  • 瀏覽器的網址以HTTPS開頭,且鎖頭圖示為上鎖的狀態

圖3. HTTPS頁面99b4e304-ac28-11ee-aa22-92fbcf53809c.png

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

    關注

    146

    文章

    17353

    瀏覽量

    352788
  • 服務器
    +關注

    關注

    12

    文章

    9331

    瀏覽量

    86131
  • https
    +關注

    關注

    0

    文章

    52

    瀏覽量

    6226
  • 雅特力
    +關注

    關注

    0

    文章

    168

    瀏覽量

    8151
收藏 人收藏

    評論

    相關推薦

    AT32F407/407A系列MCU,可輕松替換STM32F107/207/407

    網關, 串口服務器, 微打印機, 舞臺燈光, 工控, 安防, LED顯示屏, 工業機器人, 5G應用>>32位MCU
    發表于 01-22 14:36

    如何基于HTTP Web服務器示例實現TLS HTTPS服務器

    我正在嘗試基于此 HTTP Web 服務器示例實現 TLS HTTPS 服務器https://github.com/STMicroelec
    發表于 01-04 06:23

    AT32 EMAC客戶端和服務器

    AT32 EMAC client and server本文以的AT32F407系列,演示了一系列的范例
    發表于 10-24 07:39

    AT32 MCU QSPI應用說明

    AT32 MCU QSPI Application Note主要介紹以下幾部分內容:1. 基于提供的V2.x.x 的BSP 板級支持包
    發表于 10-25 06:18

    AT32基于mbed TLSHTTPS服務器

    AT32基于mbed TLSHTTPS服務器介紹如何使用mbed
    發表于 10-26 08:24

    攜高效能AT32 MCU“芯”動亮相ICCAD 2020

    高峰論壇,獲得了業界人士、廣大客戶及眾多媒體的廣泛關注。 (供圖,下同) 在同期舉辦的IP 與 IC 設計專題論壇上,
    的頭像 發表于 12-16 17:12 ?2107次閱讀

    攜高性能AT32 MCU精彩亮相全球MCU生態發展大會

    技術、邊緣AI、新興應用和生態發展等熱門議題。 業務處長陳佳延在大會發表了題為“
    的頭像 發表于 08-30 10:04 ?4569次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相全球<b class='flag-5'>MCU</b>生態發展大會

    AT32 SPI

    AT32 SPI 科技AT32F415系
    發表于 03-30 10:44 ?533次閱讀

    攜高性能AT32 MCU精彩亮相D Forum 2021 微控制論壇

    AT32高效能MCU平臺–持續布局多元化應用市場”的主題演講。產品與行銷處長杜立博先生在演講中首先介紹了公司近幾年來取得的成績,
    的頭像 發表于 02-24 09:33 ?779次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相D Forum 2021 微控制<b class='flag-5'>器</b>論壇

    攜高性能AT32 MCU精彩亮相全球MCU生態發展大會

    技術、邊緣AI、新興應用和生態發展等熱門議題。業務處長陳佳延在大會發表了題為“AT3
    的頭像 發表于 02-24 09:31 ?610次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相全球<b class='flag-5'>MCU</b>生態發展大會

    展臺首日速遞,AT32 MCU精彩亮相

    8月23日,elexcon2023深圳國際電子展在深圳會展中心(福田)正式拉開帷幕!攜AT32MCU精彩亮相,電機控制、工業控制、消費&商務、電力&電源、智能家電及汽車電子等
    的頭像 發表于 08-24 08:17 ?684次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>展臺首日速遞,<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相

    如何使用AT32 MCU定時進行PWM輸入測試

    如何使用AT32 MCU定時進行PWM輸入測試
    的頭像 發表于 10-27 14:20 ?3103次閱讀
    如何使用<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>定時<b class='flag-5'>器</b>進行PWM輸入測試

    AT32 MCU實現高效電機驅動控制與應用

    發展。受邀出席此次會議,產品市場總監林金海發表了題為“AT32
    的頭像 發表于 11-17 08:15 ?892次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>實現高效電機驅動控制與應用

    AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試與Flasher在線燒錄全面支持AT32MCU
    的頭像 發表于 02-22 08:13 ?543次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>與SEGGER攜手合作,開發量產事半功倍

    AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試與Flasher在線燒錄全面支持AT32
    的頭像 發表于 02-23 10:27 ?465次閱讀
    主站蜘蛛池模板: 黄色aaa大片 | 啪啪啦资源站永久 | 婷婷亚洲综合五月天小说在线 | 久热99| 狠狠丁香激情久久综合 | 人人看人人添人人爽 | 97色在线 | 狠狠婷婷 | 国产chinesetube | 一色屋精品免费视频 视频 一色屋免费视频 | 中日韩精品视频在线观看 | 亚洲一级毛片在线观播放 | 大香伊人网 | h网址在线观看 | 夜夜狠操 | 日本人善交69xxx | www深夜视频在线观看高清 | chinesevideo普通话对白 | 高清激情小视频在线观看 | 国产黄色高清视频 | 手机在线色 | 欧美天天综合 | 天天爽天天爱 | h在线免费视频 | 四虎最新永久免费网址 | 伊人久久综合网站 | 欧美性生交xxxxx久久久 | 亚洲国产成人精品不卡青青草原 | 国产午夜视频在永久在线观看 | 久久久夜| 午夜性影院 | tdg58在线观看 | 在线天堂中文在线网 | 香蕉视频vip | 欧美色图亚洲激情 | 999久久精品国产 | 综合色图 | 日本黄色的视频 | 一级片在线播放 | 天天操夜夜草 | 美女午夜|