Device & Token Management
Full reference for DSC token detection, health monitoring, and vendor identification on Mobile App and Desktop Software.
All features supported
Overview
SecureSign detects USB DSC tokens, identifies the vendor, monitors connection health, and handles hot-plug events inside the product layer. Portals do not embed PKCS#11 drivers or vendor applets.
- Mobile App — OTG USB detection on Android; token selection in app UI.
- Desktop Software — local CCID/PKCS#11 drivers inside the product; token metadata returned in callback payload.
- REST API — device registry via
GET /devicesandPOST /devicesfor audit and multi-device tenants.
Platform Support
| Feature | Mobile App | Desktop Software | REST API |
|---|---|---|---|
| Detect DSC Token | Supported | Supported | — |
| Detect Multiple Tokens | Supported | Supported | — |
| Token Information | Callback payload | Callback payload | GET /devices |
| Vendor Detection | vendorName | vendorName | POST /devices |
| VID/PID Detection | vendorId, productId | vendorId, productId | POST /devices |
| Token Health Check | App UI | Desktop Software UI | — |
| Connection Status | Flow events | Callback / UI | — |
| USB Hot Plug | Supported | Supported | — |
| Token Removal | DISCONNECTED event | Disconnect handler | — |
| Vendor Validation | CCA vendor adapters | CCA vendor adapters | — |
TokenInfo Model
Returned when a token is detected or registered. All fields are optional except where noted.
| Field | Type | Description |
|---|---|---|
vendorId | number | USB vendor ID (hex, e.g. 1321) |
productId | number | USB product ID |
manufacturer | string | USB manufacturer string from descriptor |
productName | string | USB product name (e.g. DSC Token) |
serialNumber | string | Token hardware serial |
vendorName | string | Resolved CA vendor (e.g. eMudhra, Capricorn) |
connectionStatus | string | CONNECTED, DISCONNECTED, or ERROR |
slotIndex | number | PKCS#11 slot when multiple slots present |
certificateCount | number | Number of signing certificates on token |
Supported DSC Vendors (India)
SecureSign supports USB DSC tokens issued by Certifying Authorities (CAs) licensed by the Controller of Certifying Authorities (CCA), Government of India. Class 2 and Class 3 certificates from the following providers are supported:
| Certifying Authority (CA) | Notes |
|---|---|
| eMudhra | — |
| Capricorn | — |
| (n)Code Solutions | — |
| GNFC | — |
| VSign | Verasys Technologies |
| IDSign | — |
| SignX | — |
| Pantasign | — |
| XtraTrust | — |
| SafeScrypt | Sify Technologies |
| CDSL Ventures | — |
| ProDigiSign | — |
| Care4Sign | — |
| CSC | Common Service Centre |
| NIC | Government entities only |
CCA-licensed tokens only
Vendor adapters detect the connected token automatically and apply the correct PKCS#11 / CCID driver path. No separate emSigner, Java applet, or per-vendor browser extension is required.
Examples
Desktop Software — health check
const params = new URLSearchParams({
requestId: crypto.randomUUID(),
hashBase64: sha256Base64,
hashAlgo: 'SHA256',
documentType: 'hash',
callbackUrl: 'https://portal.example.gov.in/sign/callback',
apiKey: 'ss_live_abc123xyz'
});
window.location.href = `securesign://sign?${params}`;
Health response
{
"status": "ok",
"version": "2.17.1",
"tokenConnected": true,
"tokenInfo": {
"vendorId": 1321,
"productId": 5678,
"manufacturer": "eMudhra",
"productName": "DSC Token",
"serialNumber": "ABC123",
"vendorName": "eMudhra",
"connectionStatus": "CONNECTED",
"certificateCount": 1
}
}
Mobile App — token info in sign callback
{
"requestId": "a1b2c3d4",
"status": "SUCCESS",
"signatureBase64": "MEUCIQD...",
"tokenInfo": {
"vendorName": "eMudhra",
"vendorId": 1321,
"productId": 5678,
"serialNumber": "ABC123",
"connectionStatus": "CONNECTED"
}
}
Connection Events
Desktop Software and Mobile App emit connection lifecycle events your portal can react to:
| Event | When | Portal action |
|---|---|---|
CONNECTED | Token plugged in and initialized | Enable sign button; refresh certificate list |
DISCONNECTED | Token removed mid-session | Cancel in-flight sign; show reconnect prompt |
ERROR | Driver or permission failure | Show vendor-specific troubleshooting |
Response
POST /devices registers a detected token for audit:
{"success":true,"deviceId":"dev_8k2m","data":{"vendorId":1321,"productId":5678,"manufacturer":"eMudhra","vendorName":"eMudhra","connectionStatus":"CONNECTED"}}
Errors
| Code | Cause | Resolution |
|---|---|---|
SS_TOKEN_NOT_FOUND | No token connected | Ask user to insert DSC token; check USB OTG (mobile) |
SS_PERMISSION_DENIED | USB permission denied (Android) | Grant USB permission in Mobile App |
SS_DESKTOP_SOFTWARE_NOT_RUNNING | Desktop Software not running | Install and start SecureSign Desktop Software |
SS_VENDOR_UNSUPPORTED | Token not from a supported CCA vendor | Use a CCA-licensed DSC token |
SS_TOKEN_BUSY | Another signing operation in progress | Wait for current operation to complete |
See also Devices API and Desktop Software API.