Vì sao token ký số khó dùng trên Linux
Ký số bằng USB token cần ba lớp phần mềm, thiếu lớp nào cũng không ký được:
- Driver / thư viện token để máy đọc được chứng thư trong USB.
- Phần mềm quản lý token (Token Manager) để nhập mã PIN, gia hạn, đổi PIN.
- Plugin ký số chạy ngầm để trang web (cổng thuế, bảo hiểm xã hội, hoá đơn điện tử, ngân hàng) gọi được lệnh ký. Mỗi nơi có thể dùng plugin riêng.
Linux có sẵn lớp 1 chung (pcscd, OpenSC đọc được nhiều loại thẻ), nhưng lớp 2 và nhất là lớp 3 do nhà cung cấp, cơ quan làm, và họ gần như chỉ làm cho Windows, macOS.
Từng nhà cung cấp, theo trang chính chủ
| Nhà cung cấp | Phần mềm token / plugin trên trang tải | Bản Linux | Ký số từ xa |
|---|---|---|---|
| VNPT-CA | Trang tải về: driver eToken, Driver Token v8, CykenToken, Token Manager cho Windows x64 và macOS (Intel, Apple Silicon). Trang plugin ký số ghi cài trên Windows, Mac OS | Không có | VNPT SmartCA (ứng dụng điện thoại) |
| Viettel-CA | Trang tải về: driver USB Token các đời, Token Manager V6 cho Windows và macOS, Viettel CA Signer Plugin; MySign Desktop cho Windows, macOS | Không có | Viettel MySign (Android, iOS) |
| BKAV-CA | Hướng dẫn cài BkavCA Token Manager (BTM) trên trang NEAC là bộ cài kiểu Windows | Chưa thấy | BKAV Remote Signing (remotesigning.bkavca.vn, có ứng dụng điện thoại) |
| FPT-CA | Chưa tìm được trang tải chính chủ ghi bản Linux; tài liệu cài plugin FPTeSign chúng tôi đọc được chỉ ghi Windows 10 trở lên | Chưa thấy | Hỏi FPT-CA |
| MISA eSign | Ký số từ xa, không dùng USB token | Không cần (ký qua dịch vụ) | Có — dùng trong phần mềm MISA, nộp tờ khai |
| FastCA | Trang NEAC ghi token FastCA hỗ trợ Windows, Linux, macOS (không nêu bản Linux cụ thể) | Có ghi, chưa kiểm | — |
"Chưa thấy" nghĩa là chúng tôi không tìm được bản Linux trên trang chính chủ lúc soát, không phải chắc chắn không có. Trước khi mua hoặc gia hạn, hỏi thẳng tổng đài nhà cung cấp: "có phần mềm ký cho Ubuntu không, ký được trên cổng thuế, BHXH không".
Cách 1 (nên làm): chuyển sang ký số từ xa
Ký số từ xa (remote signing) giữ chứng thư ở máy chủ của nhà cung cấp, bạn xác nhận lệnh ký bằng ứng dụng trên điện thoại (mã PIN, vân tay, khuôn mặt). Máy tính chỉ cần trình duyệt nên không phụ thuộc Windows hay Linux.
- Các dịch vụ phổ biến: VNPT SmartCA, Viettel MySign, BKAV Remote Signing, MISA eSign.
- Theo hướng dẫn của các nhà cung cấp, khi nộp tờ khai bạn chọn phương thức ký số từ xa, chọn nhà cung cấp, rồi xác nhận trên ứng dụng điện thoại.
- Chúng tôi chưa thử trọn luồng ký từ xa trên cổng thuế, BHXH từ máy Linux. Hãy thử một lần trên Linux vào lúc không gấp (không để đến ngày cuối hạn nộp).
- Đang có token còn hạn: hỏi nhà cung cấp về chuyển đổi hoặc mua thêm gói ký từ xa; một số nơi tính phí theo năm hoặc theo lượt ký.
Cách 2: máy ảo Windows trên Linux, cắm token vào máy ảo
Giữ nguyên token, cài Windows trong máy ảo và cài phần mềm của nhà cung cấp vào đó. Cần máy từ 8 GB RAM và bản quyền Windows cho máy ảo.
- Cài GNOME Boxes (dễ) hoặc virt-manager (nhiều tuỳ chọn hơn):
hoặc
sudo apt install gnome-boxes(đăng xuất, đăng nhập lại sau lệnh thứ hai).sudo apt install virt-manager sudo usermod -aG libvirt $USER - Tạo máy ảo từ file ISO Windows 10/11, cài như máy thật.
- Cắm token vào máy thật. GNOME Boxes: mở thuộc tính máy ảo → Devices & Shares → bật thiết bị USB của token. virt-manager: menu Virtual Machine → Redirect USB device → chọn token.
- Trong Windows ảo, cài driver, Token Manager, plugin theo hướng dẫn của nhà cung cấp, ký thử.
VirtualBox cũng dùng được, nhưng chuyển USB 2.0/3.0 vào máy ảo cần gói Extension Pack có giấy phép riêng của Oracle: cá nhân dùng miễn phí, công ty phải đọc kỹ điều khoản.
Cách 3: điều khiển một máy Windows cắm sẵn token
Văn phòng nhiều người dùng Linux có thể để một máy Windows (hoặc máy của kế toán) cắm token, mọi người điều khiển từ xa khi cần ký. Phần mềm điều khiển có bản Linux: RustDesk, AnyDesk, TeamViewer, Chrome Remote Desktop. Lưu ý: ai vào được máy đó là ký được, nên đặt mật khẩu truy cập riêng, không để token cắm qua đêm, rút token khi không dùng.
Cho người rành: thử đọc token trên Linux
Muốn biết token của mình có được Linux nhận ở mức phần cứng không (ví dụ để ký PDF trong LibreOffice, Okular), cài bộ đọc thẻ chuẩn:
sudo apt install pcscd pcsc-tools opensc libccid
pcsc_scanpcsc_scan hiện tên đầu đọc / chip trong token khi bạn cắm vào (thoát bằng Ctrl+C). Nếu chip thuộc loại OpenSC hỗ trợ, xem chứng thư bằng:
pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so --list-objectsĐọc được chứng thư mới là bước đầu: vẫn không thay được plugin ký của cổng thuế, BHXH, hoá đơn điện tử. Đừng thử đi thử lại mã PIN sai: token bị khoá sau vài lần nhập sai, phải mang ra nhà cung cấp mở khoá.
Nên chọn cách nào
| Bạn là | Nên |
|---|---|
| Hộ kinh doanh, cá nhân ký vài lần một tháng | Ký số từ xa qua điện thoại; tờ khai cá nhân, hộ kinh doanh xem eTax Mobile ở Kê khai, nộp thuế trên Linux |
| Kế toán ký hằng ngày, nhiều cổng | Giữ một máy Windows hoặc cài Windows song song (Chạy thử, cài song song Windows); máy ảo nếu máy đủ mạnh |
| Văn phòng chuyển dần sang Linux | Một máy Windows cắm token dùng chung qua điều khiển từ xa, hoặc chuyển cả công ty sang ký từ xa |
Nguồn đã kiểm
- VNPT-CA — trang tải về — Windows x64, macOS Intel/ARM
- VNPT-CA — plugin ký số — cài trên Windows, Mac OS
- Viettel-CA — tải về — Token Manager V6 Windows, macOS; MySign
- NEAC — hướng dẫn cài BkavCA
- NEAC — hướng dẫn cài FastCA — ghi hỗ trợ Linux, macOS
- BKAV-CA — Remote Signing
- VNPT SmartCA
- OpenSC — thư viện thẻ thông minh mã nguồn mở
Thông tin phần mềm, phiên bản, hỗ trợ của từng hãng có thể đổi sau ngày soát. Thấy sai, bạn báo cho Dorabot qua trang Về chúng tôi.