695 字
3 分鐘
開發介接自然人憑證 | 自然人憑證開發筆記
2023-12-29
無標籤

首頁 > 系列文 > 自然人憑證開發筆記

上篇了解到自然人憑證的功能,可以做到身分驗證、數位簽章、資料加密等功能。接著就來說該如何進行開發,由於自然人憑證開發相關資料比較少,我會搭配官方文件,之後寫一些範例。


原生開發#

自然人憑證卡片是透過 USB 讀卡機連到電腦再進行操作,本地應用程式可以撰寫程式與卡機直接溝通,來操作自然人憑證,內政部則提供Hisecure程式開發套件作為範例,可以透過C、JAVA進行開發。

https://gpkiapi.nat.gov.tw/hisecure/product/no1.do

https://gpkiapi.nat.gov.tw/hisecure/product/no1.do


HiPKI Local Server 跨平台網頁元件 (HiPKILocalSignServer)#

但由於現代大部分服務是以網頁為主,就不會用到上述應用程式開發的方法。而瀏覽器無法直接與卡機上的自然人憑證進行溝通,因此網站要介接自然人憑證,使用者需先在本機安裝「跨平台網頁元件(HiPKI Local Server)」應用程式,安裝的時候會順便裝「憑證卡驅動程式(HiCOS)」。

跨平台網頁元件會在本地起一個 API Server (http://localhost:61161),網站則可以跟 Local Server 交換資料來使用自然人憑證。跨平台網頁元件支援了 Windows、MacOS、Linux等系統,政府網站支援自然人憑證也大多是使用 該元件。

https://moica.nat.gov.tw/rac_plugin.html

https://moica.nat.gov.tw/rac\_plugin.html


ChtICToken.js#

開發者透過 JavaScript 與 HiPKI Local Server 溝通來操作自然人憑證,Hisecure 將常用的功能做成 JavaScript 函式庫:ChtICToken.js,前端開發者就能夠簡易操作自然人憑證,ChtICToken.js 需要登入 Hisecure 網站才能下載最新版。行動自然人憑證網站就是透過 ChtICToken.js 進行開發的,可以找到下載點 https://fido.moi.gov.tw/pt/assets/ChtICToken.unminified.js

![/images/medium/7640b8446b7e8b02.png)

https://gpkiapi.nat.gov.tw/hisecure/news/newsin.do?id=185611334c900000a103ed7bda04c2cb


HiCOS 管理工具#

在 Windows 上安裝 HiCOS 會另外安裝管理工具:卡片管理工具、用戶端系統環境檢測工具。使用這兩個工具可以用來測試卡片、修改 PIN 碼等功能。

HiCOS 卡片管理工具

HiCOS 卡片管理工具

HiCOS 用戶端系統環境檢測工具

HiCOS 用戶端系統環境檢測工具


全景 ServiSign 跨平台安控元件 (Changingtec CGServiSign)#

除了 HiPKI Local Server 這種內政部開發的元件外,類似的還有全景的 ServiSign 跨平台安控元件,有一些政府網站(如:健保署)透過該元件與自然人憑證互動。


葳橋 背景簽章服務 (WellChoose BatchSignCS)#

其他第三方開發的整合套件還有葳橋的背景簽章服務。


結語#

筆者建議開發與介接透過 HiCOS 元件,可以跨平台支援,不過在 iOS、Android 就無法支援。

▶ 閱讀更多:深入淺出自然人憑證