# 3. Tính năng Ký số Local (Client-side)

Song song với chữ ký Server, dự án cung cấp **Signing Desktop App** - một ứng dụng nhỏ nhẹ chạy nền dưới máy cá nhân của nhân sự:

- **Đọc &amp; Trích xuất chứng thư từ USB Token (PKCS#11):** Tích hợp driver của đa dạng các hãng USB Token (như Viettel, VNPT, BKAV, FPT...) theo cấu hình chuẩn, đọc và lấy public key để sinh payload ký.
- **Local Web Server trung gian:** Khởi chạy một server ở `localhost` (Port 6868/..) để frontend của hệ thống nghiệp vụ (trên trình duyệt Chrome/Edge) có thể gửi yêu cầu ký (LocalSignRequestDTO) thẳng xuống USB Token dưới máy tính.
- **Giao diện (UI) quản lý đơn giản:** Cung cấp các cửa sổ Pop-up (sử dụng thư viện FlatLaf hiện đại) giúp người dùng: 
    - Chọn chứng thư số từ danh sách Token đang cắm.
    - Nhập mã PIN an toàn.
    - Hiển thị thanh tiến trình (Loading Dialog) khi đang thực hiện ráp ký tài liệu nặng.