- Frontend (React + Vite) uses NCALayer WebSocket for:
- Sign one document
- Verify one CMS
- Extract original document from CMS
- Batch verify CMS files (sequentially)
- Frontend also supports Batch Sign through
BatchSignModule(calls backend API) - Backend (ASP.NET Core 8) provides API endpoints in
SignController:POST /api/sign/batchPOST /api/sign/certificate/infoPOST /api/sign/verify
- .NET SDK 8.0+
- Node.js 20.19+ or 22.12+
- npm 10+
- NCALayer installed and running (
wss://127.0.0.1:13579) - Kazakhstan PKI cert chain installed (see
CERTIFICATE_INSTALLATION.md)
From repository root:
.\start-app.ps1Expected services:
- Backend API:
http://localhost:5000 - Frontend:
http://localhost:5173 - Swagger UI:
http://localhost:5000(served at root)
cd Backend
dotnet restore
dotnet run --project EdsWebApi.csprojcd Frontend
npm install
npm run dev- Open app (
http://localhost:5173) - Go to Sign Document
- Choose file through NCALayer picker
- Click Sign Document
- Go to Verify Document
- Choose CMS file
- Click Check to verify
- Click Извлечь документ to extract original file
- In Batch Verify Documents, click Add File repeatedly
- Click Verify Batch
- Review per-file result and signer details
- Go to Batch Sign tab
- Load keystore and password
- Select one or more documents
- Click Sign X Document(s)
- Download produced
.cmsfiles
- NCALayer connection issues:
- Ensure NCALayer is running
- Check local endpoint
wss://127.0.0.1:13579
- Frontend won’t start:
cd Frontend && npm install
- Backend won’t start:
cd Backend && dotnet restore- Verify .NET 8 SDK