今天終於親自讓Pixel5連上802.1x認證的Wifi,在這裡先留下一些筆記。
造成Android11連不上802.1x的問題根源是數位憑證認證機構(英語:Certificate Authority, CA)憑證,CA憑證一定得選擇,就意味著得匯入CA憑證到Android裝置,才可以解決問題。
CA憑證有許多解決方案,Windows Server也可以當CA。只是這裡選擇用Aruba ClearPassPolicyManager(CPPM)。
對於一個憑證菜鳥,這邊會一一講解概念。
先講最終的目標:手機上面的Wifi憑證的CA要跟Radius Server憑證的CA是可以對上的。
每個單位可以自行產生憑證(如:Radius Server),而替人簽署憑證的機構為CA,CA自己也有憑證,稱為CA憑證。
CA的運作模式是一條鏈,鏈的最上頭稱為「Root CA」,也是最源頭的簽署憑證機構。其他設備可以去向CA要求簽署設備自身的憑證,「請求簽署憑證」這項功能在設備上可以找到,按下後,設備會產生一串代碼,這串代碼傳至CA後,CA會簽署而產生簽署過的憑證,最後再把 簽署過的憑證傳到設備上,就完成加入這串CA鏈。
即使不是Root CA,也可以去簽署別台設備的憑證,然後別的設備繼續串在CA鏈的後方,成為次一級的CA。因此下游設備可以不斷簽署跟幫人簽署,這失去了公共監控,公信力不高。
使用CA本身的目的是在於驗證真偽,沒辦法控管第二級與之後的CA,但只要控管Root CA,就可以解決濫發跟公信力的問題,因此針對Root CA就有了許多要求,符合要求的就能合法CA,這些合法CA的清單也能在各種裝置上找到。
如果使用者使用CA憑證作認證,使用者在連線的時候會去查看認證伺服器的憑證,然後查看「自身使用CA憑證的CA」跟「 認證伺服器憑證的CA」是否相同,是的話就能信任。
將CPPM作為Radius Server,本身預設是自簽CA,因此得替換上面的憑證,去換成一張被CA簽署過的憑證。
而在CPPM裡面的On board,是可以作為Root CA。
因此使用CPPM policy manager(PM)去向CPPM on board(CA)請求簽署憑證,然後再把on board上的簽署憑證(Trust)匯回PM,就能完成替換 Radius Server 憑證的動作。(※https跟其他服務又有自己的憑證)
接著處理客戶端,客戶端缺甚麼?就是CA憑證。因為合格CA清單其中不會有自己起的CA,於是就把手動匯入。
現在 CPPM on board 上可以看到三張憑證,一張是PM的,另一張是自簽的,最後一張是Root CA,也是所謂的 CA憑證 。(CA簽署過的憑證,唯獨憑證所有者(請求簽署憑證的設備)才能使用的,因此可以排除PM跟自簽的。)
把Root CA的CA憑證匯出,放到客戶端上。在Android11上從「設定」>「安全性」裡找到安裝憑證,並選擇「Wi-Fi憑證」,並且在wifi連線設定中的「CA憑證」選項選擇剛剛匯入的憑證。




只差最後一步了。
Android11 Wifi使用WPAx-Enterprise作認證,在設定中有項「網域」是強制輸入的,這要填甚麼呢?這裡要填「認證伺服器CA憑證的名稱」也就是Common Name(CN),這跟網址的Domain是不一樣的。在CA憑證的世界中, Common Name通常是用公司的名稱去申請,使用者在還沒通過之前是無法得知DNS的Domain,但能看到認證伺服器CA憑證的 CN,這是特別容易搞混的地方,所以得寫長一點去強調它。
已經完成了所有步驟,如果其他環節沒有出差錯,Android11就能連上802.1x認證的SSID。