Skip to content
@mersel-dss

mersel-dss

mersel.io

Mersel DSS

Open-source digital signature platform for Turkey's e-transformation ecosystem

Türkiye'nin e-Fatura, e-Arsiv ve e-Irsaliye süreclerinde ihtiyac duyulan
dijital imzalama, dogrulama ve zaman damgasi islemlerini tek bir platformda birlestiren acik kaynak cozum.

dss.mersel.dev

License: MIT  Tests  Java  Spring Boot  EU DSS  PRs Welcome

XAdES   PAdES   CAdES   WS-Security   RFC 3161   HSM/PKCS#11   KamuSM


Platform Repositories

Production-ready REST API. XAdES, PAdES, CAdES ve WS-Security imzalama, RFC 3161 zaman damgasi, TÜBİTAK ESYA entegrasyonu, HSM/PKCS#11 ve PFX destegi.

Java   Spring Boot   EU DSS 6.3   BouncyCastle

Stars  Forks  Docs

Bagimsiz imza dogrulama servisi. Donanim bagimsiligi olmadan yüksek performansli PAdES/XAdES dogrulama, DSS SimpleReport ve DetailedReport destegi.

Java   Spring Boot   Stateless   Horizontal Scaling

Stars  Forks  Docs

Sign API icin modern web arayüzü. Auto-generated TypeScript client ile type-safe entegrasyon, TanStack Query ile optimistic updates.

React 18   TypeScript   Tailwind CSS   Vite

Stars  Forks  Docs

Kullanici bilgisayarindaki mali mühür veya e-imza kartlarina erisen masaüstü uygulamasi. Sunucu donanim bagimliligi olmadan lokal imzalama.

Java   Desktop   USB Token   Smart Card

GitHub

Platform dokümantasyon sitesinin kaynak kodu — dss.mersel.dev. Kurulum rehberleri, API referanslari, deployment kilavuzlari ve kod örnekleri.

MDX   Docusaurus

Forks  Website


Architecture

graph TB
    subgraph clients ["Client Layer"]
        UI["Sign UI<br/><sub>React · TypeScript</sub>"]
        AGENT["Agent Signer<br/><sub>Desktop JAR</sub>"]
        EXT["3rd Party Apps<br/><sub>REST / cURL</sub>"]
    end

    subgraph sign ["Sign API"]
        direction TB
        API["REST API<br/><sub>Spring Boot</sub>"]
        subgraph engines ["Signature Engines"]
            XADES["XAdES"]
            PADES["PAdES"]
            CADES["CAdES"]
            WSSEC["WS-Security"]
        end
        TS["Timestamp Service<br/><sub>RFC 3161</sub>"]
    end

    subgraph verify ["Verify API"]
        VAPI["REST API<br/><sub>Spring Boot · Stateless</sub>"]
        REPORT["DSS Reports<br/><sub>SimpleReport · DetailedReport</sub>"]
    end

    subgraph infra ["Security & Infrastructure"]
        KS["Keystore<br/><sub>PFX · HSM · PKCS#11</sub>"]
        ROOT["Trusted Roots<br/><sub>KamuSM · Online/Offline</sub>"]
        TSP["TSA Servers<br/><sub>TÜBİTAK · KAMUSM</sub>"]
    end

    subgraph monitoring ["Observability"]
        PROM["Prometheus"]
        GRAF["Grafana"]
        ALERT["AlertManager"]
    end

    UI --> API
    AGENT --> API
    EXT --> API
    EXT --> VAPI

    API --> engines
    API --> TS
    engines --> KS
    engines --> ROOT
    TS --> TSP
    VAPI --> REPORT
    REPORT --> ROOT

    API -.-> PROM
    VAPI -.-> PROM
    PROM --> GRAF
    PROM --> ALERT

    style clients fill:transparent,stroke:#8b949e,stroke-dasharray:5 5
    style sign fill:transparent,stroke:#58a6ff
    style verify fill:transparent,stroke:#3fb950
    style infra fill:transparent,stroke:#d29922
    style monitoring fill:transparent,stroke:#8b949e,stroke-dasharray:5 5
Loading

Signing Flow

sequenceDiagram
    participant C as Client
    participant S as Sign API
    participant K as Keystore
    participant T as TSA Server

    C->>S: POST /v1/xadessign<br/>(document + documentType)
    activate S
    S->>K: Load private key & certificate
    K-->>S: Key entry
    S->>S: Create XAdES signature<br/>(EU DSS 6.3 engine)
    
    opt Timestamp requested
        S->>T: RFC 3161 timestamp request
        T-->>S: Signed timestamp token
    end
    
    S-->>C: Signed document
    deactivate S
Loading

Quick Start

git clone https://github.com/mersel-dss/mersel-dss-server-signer-java.git
cd mersel-dss-server-signer-java

./scripts/unix/quick-start-with-test-certs.sh
# e-Fatura signing
curl -X POST http://localhost:8085/v1/xadessign \
  -F "document=@invoice.xml" \
  -F "documentType=UblDocument" \
  -o signed.xml

# PDF signing
curl -X POST http://localhost:8085/v1/padessign \
  -F "document=@document.pdf" \
  -o signed.pdf

# Signature verification
curl -X POST http://localhost:8085/v1/verify \
  -F "document=@signed.xml" \
  -o report.json

Tip

Docker ile tüm monitoring stack dahil baslatmak icin: cd devops/docker && docker-compose up -d Sign API, Prometheus, Grafana ve AlertManager tek komutla hazir.


Why Mersel DSS?

5 dakikada calistir Test sertifikalari dahil tek komutla calisan ortam. Docker Compose ile tüm stack hazir.
Sektörel uyumluluk TÜBİTAK BES, KamuSM, ETSI standartlari. e-Fatura, e-Arsiv, e-Irsaliye icin dogrulanmis.
Production-ready Prometheus metrikleri, Grafana dashboard, health check, structured logging, Sentry entegrasyonu.
Esnek sertifika yönetimi PFX dosya, HSM/PKCS#11, USB Token. Multi-certificate keystore, alias ve serial number ile secim.
Güvenilir kök sertifika KamuSM online (otomatik güncelleme), offline (air-gapped), ve özel klasör resolver destegi.
Acik kaynak MIT lisansi. Topluluk katkilariyla büyüyen, seffaf ve sürdürülebilir gelistirme modeli.

Tech Stack

block-beta
    columns 4
    
    block:backend:1
        columns 1
        B["Backend"]
        B1["Java 8+"]
        B2["Spring Boot 2.7"]
        B3["EU DSS 6.3"]
        B4["BouncyCastle"]
    end
    
    block:frontend:1
        columns 1
        F["Frontend"]
        F1["React 18"]
        F2["TypeScript"]
        F3["Tailwind CSS"]
        F4["Vite"]
    end
    
    block:crypto:1
        columns 1
        C["Crypto"]
        C1["XAdES / PAdES"]
        C2["CAdES"]
        C3["WS-Security"]
        C4["RFC 3161"]
    end
    
    block:ops:1
        columns 1
        O["Infrastructure"]
        O1["Docker"]
        O2["Kubernetes"]
        O3["Prometheus"]
        O4["Grafana"]
    end

    style B fill:#f97316,color:#fff
    style F fill:#3b82f6,color:#fff
    style C fill:#8b5cf6,color:#fff
    style O fill:#22c55e,color:#fff
Loading

Community

Bu proje, Türkiye'deki e-dönüsüm ekosisteminde calisan firmalarin ortak katkisiyla gelismektedir.

Katki Sahibi Kurum
@hasanyildiz IZIBIZ Bilisim Teknolojileri A.S.
@emresimsk IDECON Danismanlik Hizmetleri A.S.
@Burak-Attila EDM Bilisim
@batuhanonerr NILVERA Yazilim ve Bilisim Hizmetleri

Note

Acik kaynagin gücüne inaniyor ve birlikte daha iyisini üretmeye devam ediyoruz. Her katki, tüm toplulugun faydasina. Katkida bulunma rehberi →


Mersel Open Source Ecosystem

Mersel DSS, Mersel tarafindan gelistirilen acik kaynak projelerden biridir. e-Dönüsüm altyapisinin farkli katmanlarini kapsayan diger acik kaynak servislerimiz github.com/mersel-os altinda yer almaktadir:

Playwright (Chromium) tabanli HTML → PDF dönüsüm mikroservisi. Stateless, yatay ölceklenebilir. wkhtmltopdf'den modern gecis icin hazir.

.NET 9   Playwright   NuGet SDK

NuGet  CI

Saxon HE ile XML Schema/Schematron dogrulama ve XSLT dönüsüm servisi. GIB paket sync, özel kural tanimi, admin UI ve hot-reload destegi.

Java 21   Spring Boot 3.4   Saxon HE

CI

GIB e-Fatura/e-Irsaliye mükellef listelerini senkronize eden mikroservis. ~200 MB RAM ile milyonlarca kayit, PostgreSQL Materialized View ile sifir kesinti.

.NET 9   PostgreSQL   NuGet SDK

NuGet  CI


Tüm servisler MIT lisanslidir, Docker-ready ve production ortamlari icin monitoring altyapisi (Prometheus + Grafana) ile birlikte gelir.



mersel.io

Türkiye'nin e-dönüsüm altyapisini birlikte insa ediyoruz.

dss.mersel.dev  ·  github.com/mersel-dss  ·  github.com/mersel-os


MIT License · Built with care by Mersel

Popular repositories Loading

  1. mersel-dss-server-signer-java mersel-dss-server-signer-java Public

    Java 24 17

  2. mersel-dss-verifier-api-java mersel-dss-verifier-api-java Public

    Java 10 10

  3. mersel-dss-ui mersel-dss-ui Public

    TypeScript 7 4

  4. mersel-dss-docs mersel-dss-docs Public

    MDX 7 1

  5. mersel-dss-agent-signer-java mersel-dss-agent-signer-java Public

    Java 2 1

  6. .github .github Public

    mersel-dss

    1

Repositories

Showing 7 of 7 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…