
上篇了解到自然人憑證的功能,可以做到身分驗證、數位簽章、資料加密等功能。接著就來說該如何進行開發,由於自然人憑證開發相關資料比較少,我會搭配官方文件,之後寫一些範例。
原生開發
自然人憑證卡片是透過 USB 讀卡機連到電腦再進行操作,本地應用程式可以撰寫程式與卡機直接溝通,來操作自然人憑證,內政部則提供Hisecure程式開發套件作為範例,可以透過C、JAVA進行開發。

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
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。

HiCOS 卡片管理工具

HiCOS 用戶端系統環境檢測工具
全景 ServiSign 跨平台安控元件 (Changingtec CGServiSign)
除了 HiPKI Local Server 這種內政部開發的元件外,類似的還有全景的 ServiSign 跨平台安控元件,有一些政府網站(如:健保署)透過該元件與自然人憑證互動。
葳橋 背景簽章服務 (WellChoose BatchSignCS)
其他第三方開發的整合套件還有葳橋的背景簽章服務。
結語
筆者建議開發與介接透過 HiCOS 元件,可以跨平台支援,不過在 iOS、Android 就無法支援。
▶ 閱讀更多:深入淺出自然人憑證