EdsNcaLayer is a local digital-signature application for Kazakhstan PKI workflows.
Current architecture:
- Frontend (React + Vite) performs signing/verification/extraction through NCALayer WebSocket (
wss://127.0.0.1:13579) - Backend (ASP.NET Core 8) exposes API endpoints for signing/verification scenarios with NKalkan
- NCALayer must be installed and running for frontend operations
- Backend — ASP.NET Core Web API (
EdsWebApi.csproj) - Frontend — React application
- Frontend/src/components — UI modules
- Frontend/src/services — modular frontend services
- start-app.ps1 — starts backend and frontend together
- run-edsnca-ui.ps1 — starts frontend only
- .NET SDK 8.0+
- Node.js 20.19+ or 22.12+
- npm 10+
- NCALayer (required for frontend flows)
- endpoint:
wss://127.0.0.1:13579 - download: https://ncl.pki.gov.kz/
- endpoint:
- Sign document via NCALayer (
signFilePath) - Batch sign documents via backend API (
/api/sign/batch) - Verify CMS signature via NCALayer (
checkCMS) - Extract original document from CMS via NCALayer (
saveCMS) - Batch verify CMS files (sequentially)
UI is organized in modules and switched by tabs in Frontend/src/App.jsx.
Backend runs on http://localhost:5000 and exposes Swagger at /.
Implemented controller:
Available endpoints:
POST /api/sign/batch— batch sign multiple documentsPOST /api/sign/certificate/info— load certificate info from keystorePOST /api/sign/verify— verify CMS signature
Start both services:
.\start-app.ps1Expected:
- Backend:
http://localhost:5000 - Frontend:
http://localhost:5173
.\run-edsnca-ui.ps1or
cd Frontend
npm install
npm run devcd Backend
dotnet restore
dotnet run --project EdsWebApi.csproj- Frontend uses both integration paths:
- NCALayer WebSocket for sign/verify/extract in modules
- Backend API for batch signing in
BatchSignModule
- If NCALayer is not running, frontend signing/verification/extraction will fail.
- Backend and frontend are now modularized and can evolve independently.