# 6.2. Cấu hình Máy trạm Desktop ( token-config.json )

Do USB Token (SmartCard) đến từ rất nhiều định dạng nhà cung cấp khác nhau (Viettel, VNPT, FPT, BKAV, HILO), mỗi hãng lại dùng một file Driver `.dll` (trên Windows) riêng biệt.

Ứng dụng `signing-desktop` quản lý cấu hình các Token này thông qua file **<span class="inline-flex break-all leading-tight">token-config.json</span>** nằm tại thư mục gốc của file thực thi.

**Định dạng JSON mẫu:**

```json
[
  {
    "id": "95893e6d-ef56-46ff-981f-5a73f81982b6",
    "name": "USB_HILO_CA",
    "libraryPath": "C:\\Windows\\System32\\hiloca_csp11_v1.dll",
    "slotIndex": 0
  },
  {
    "id": "e5d...-...",
    "name": "VIETTEL_CA",
    "libraryPath": "C:\\Windows\\System32\\viettel-ca_v6.dll",
    "slotIndex": 0
  }
]
```

**Giải thích thông số:**

- <div>  
    </div><span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">name</span></span></span>: Tên định danh của dòng USB Token (để hiển thị trên giao diện `TokenProfileDialog` cho người dùng chọn).
- `libraryPath`: Đường dẫn tuyệt đối trỏ tới file thư viện **PKCS#11** (File `.dll` / `.so` / `.dylib`) của hãng đang cài trong hệ điều hành.
- `slotIndex`: Thứ tự khe cắm thiết bị lưu trữ trên Driver (mặc định đa số là `0`).

> TIP
> 
> **Mẹo chuẩn đoán:** Nếu hệ thống chạy Desktop App bị treo và báo *"Module PKCS11 không khả dụng"*, hãy mở file **<span class="context-scope-mention"><span class="inline-flex items-center gap-0.5 rounded-md align-middle text-sm font-medium transition-[opacity,background-color] cursor-pointer hover:bg-gray-500/20 select-text translate-y-[-1px]" draggable="true"><span class="inline-flex break-all leading-tight">token-config.json</span></span></span>** và kiểm tra xem biến `libraryPath` có đúng với đường dẫn cài của hãng cung cấp hay không.