Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Ubuntu 重裝 OpenSC 智慧卡中介軟體完整指南:移除舊套件、編譯相依 (pcsc-lite)、源碼安裝驗證

編輯:關於 Linux

OpenSC 提供 PKCS#11 介面讓應用程式 (Firefox、Thunderbird、OpenVPN、OpenSSH) 存取智慧卡/USB Token。Ubuntu 官方倉庫版本常較舊,若遇相容性問題需從源碼編譯最新版。本文記錄完整移除、相依編譯 (含 pcsc-lite)、安裝驗證流程。

OpenSC 架構圖

1. 徹底移除舊版套件

sudo apt-get remove --purge libopensc2 libopenct1 opensc-pkcs11 opensc

2. 安裝建置工具與核心相依

sudo apt-get update
sudo apt-get install build-essential libssl-dev libpcsclite-dev pcscd \
    automake autoconf libtool pkg-config git
  • libpcsclite-dev:PC/SC Lite 開發套件 (智慧卡通訊核心)
  • pcscd:PC/SC 守護程式 (管理讀卡機裝置)

3. 若 pcscd 安裝失敗:源碼編譯 pcsc-lite

# 移除套件版
sudo apt-get remove libpcsclite-dev

# 下載最新源碼
wget https://github.com/LudovicRousseau/PCSC/releases/download/1.9.5/pcsc-lite-1.9.5.tar.bz2
tar xf pcsc-lite-1.9.5.tar.bz2
cd pcsc-lite-1.9.5

# 編譯安裝
./configure --prefix=/usr --enable-usbdropdir=/usr/lib/pcsc/drivers
make
sudo make install

# 更新共享庫快取
sudo ldconfig

4. 編譯安裝 OpenSC (最新版)

git clone https://github.com/OpenSC/OpenSC.git
cd OpenSC

# Bootstrap (產生 configure)
./bootstrap

# 配置
./configure --prefix=/usr \
    --sysconfdir=/etc \
    --enable-openssl \
    --enable-pcsc \
    --enable-readline \
    --enable-zlib

# 編譯
make

# 安裝
sudo make install

# 更新庫快取
sudo ldconfig

5. 驗證安裝

# 檢查版本
opensc-tool --version
# 0.23.0

# 列出偵測到的讀卡機/卡片
opensc-tool -l
# #1: Reader name [Identiv uTrust 2700 R]

# PKCS#11 模組路徑
ls -l /usr/lib/opensc-pkcs11.so
# 或 /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

6. 整合應用程式

應用設定方式
Firefox / Thunderbird 偏好設定 → 隱私權與安全性 → 安全裝置 → 載入 → 模組: /usr/lib/opensc-pkcs11.so
OpenVPN pkcs11-providers /usr/lib/opensc-pkcs11.so
pkcs11-id '... (用 openvpn --show-pkcs11-ids 取得)
OpenSSH (SSH 金鑰存卡) ssh -I /usr/lib/opensc-pkcs11.so user@host
或 ssh-add -s /usr/lib/opensc-pkcs11.so
GnuPG (智慧卡作為 GPG 金鑰) gpg --card-status (需 scdaemon 支援 OpenSC)

常見問題排查

現象原因解決
pcscd 未偵測讀卡機 USB 裝置權限 / udev 規則缺失 lsusb 確認 VID:PID → /etc/udev/rules.d/99-pcscd.rules 加入規則 → udevadm control --reload
opensc-tool -l 顯示 "No readers found" pcscd 未運行 / 驅動未載入 systemctl status pcscd、systemctl start pcscd、檢查 /usr/lib/pcsc/drivers/ 有無 .bundle
PKCS#11 模組載入失敗 架構不符 (32/64 位元) / 相依庫缺失 file /usr/lib/opensc-pkcs11.so 確認 ELF 類別、ldd 檢查相依
編譯錯誤 PCSC/winscard.h not found 缺少 libpcsclite-dev 安裝套件或源碼編譯 pcsc-lite 並確認 pkg-config --cflags libpcsclite

systemd 服務管理 pcscd

sudo systemctl enable pcscd
sudo systemctl start pcscd
# 開機自啟、即時啟動

完成編譯安裝後,系統即擁有最新版 OpenSC,支援最新智慧卡晶片、PKCS#11 標準擴展、硬體加密操作,滿足企業級強認證、VPN 憑證、程式碼簽章等場景需求。

Copyright © Windows教程網 All Rights Reserved