No description
Find a file
erdembas 5273962f6f Refactor GitHub Actions workflow for Docker image build and push
- Updated environment variables for better clarity and consistency.
- Simplified Docker login steps and removed unnecessary Docker Hub login.
- Enhanced metadata extraction for Docker images.
- Streamlined smoke test to use new environment variable structure.
- Removed outdated Docker Hub description update step.
2026-03-11 01:52:20 +03:00
.github Refactor GitHub Actions workflow for Docker image build and push 2026-03-11 01:52:20 +03:00
.vscode Initial commit: Mersel DSS Signer API v0.1.0 2025-11-07 15:54:25 +03:00
devops Update CHANGELOG and README for e-Bilet report support and CI improvements 2026-03-11 01:48:01 +03:00
examples docs: merkezi dokümantasyon linklerini dss.mersel.dev olarak güncelle. 2025-11-08 14:13:46 +03:00
resources feat(devops): Docker, monitoring stack ve gelişmiş test altyapısı eklendi 2025-11-07 23:20:08 +03:00
scripts docs: merkezi dokümantasyon linklerini dss.mersel.dev olarak güncelle. 2025-11-08 14:13:46 +03:00
src fix: EBiletReport için XAdES-A yükseltmesi eklendi ve unit testler yazıldı. 2026-03-11 00:53:29 +03:00
.gitignore Initial commit: Mersel DSS Signer API v0.1.0 2025-11-07 15:54:25 +03:00
CHANGELOG.md Update CHANGELOG and README for e-Bilet report support and CI improvements 2026-03-11 01:48:01 +03:00
CONTRIBUTING.md Initial commit: Mersel DSS Signer API v0.1.0 2025-11-07 15:54:25 +03:00
DSS_OVERRIDE.md Initial commit: Mersel DSS Signer API v0.1.0 2025-11-07 15:54:25 +03:00
LICENSE Initial commit: Mersel DSS Signer API v0.1.0 2025-11-07 15:54:25 +03:00
pom.xml CAdES desteği DSS ile eklendi. 2026-03-03 00:57:38 +03:00
README.md Update CHANGELOG and README for e-Bilet report support and CI improvements 2026-03-11 01:48:01 +03:00
SECURITY.md feat: Test sertifikaları, hızlı başlatma ve monitoring desteği 2025-11-07 18:16:45 +03:00
SignService.iml Initial commit: Mersel DSS Signer API v0.1.0 2025-11-07 15:54:25 +03:00
TEST_CERTIFICATES.md docs: merkezi dokümantasyon linklerini dss.mersel.dev olarak güncelle. 2025-11-08 14:13:46 +03:00
TEST_CERTS_CHEATSHEET.md docs: merkezi dokümantasyon linklerini dss.mersel.dev olarak güncelle. 2025-11-08 14:13:46 +03:00

🔐 Sign API

Türkiye e-imza standartlarına uygun elektronik imza (XAdES, PAdES, WS-Security) servisi.

Java Spring Boot License DSS Version Tests GHCR PRs Welcome


🙌 Katkıda Bulunanlar

Bu projeye emek veren herkese içtenlikle teşekkür ederiz. Kod katkısı yapan, önerileriyle geliştirmeye yön veren veya hataları fark edip bildiren herkes, projenin bugün olduğu noktaya gelmesinde önemli bir paya sahip.

Aynı şekilde, geliştirme sürecinde destek sunan kurumlara da ayrıca teşekkür ederiz.Birlikte hareket etmenin, bilgiyi paylaşmanın ve ortak bir değeri büyütmenin kıymetini çok iyi biliyoruz.

ık kaynağın gücüne inanıyor ve birlikte daha iyisini üretmeye devam ediyoruz. 🚀

Bireysel Katkı Sahipleri

Katkıda Bulunan Kurum
@hasanyildiz İZİBİZ Bilişim Teknolojileri Anonim Şirketi
@emresimsk IDECON DANIŞMANLIK HİZMETLERİ ANONİM ŞİRKETİ
@Burak-Attila EDM Bilişim
@batuhanonerr NİLVERA YAZILIM VE BİLİŞİM HİZMETLERİ TİC. LTD. ŞTİ.
@ozlemkzn e-Platform Bulut Bilişim A.Ş.

Kurumsal Destekçiler

Kurum Katkı Türü
İzibiz Geliştirme desteği
İdecon Geliştirme desteği
EDM Geliştirme desteği
NİLVERA Geliştirme desteği
e-Platform Geliştirme desteği

Öne Çıkan Pull Request / Issue Katkıları

Tür Referans ıklama Katkıda Bulunan
PR #3 TÜBİTAK XAdES için ECDSA doğrulama özelleştirmeleri @hasanyildiz
PR #6 PKCS#11 slot ve slotListIndex yapılandırması geliştirmesi @hasanyildiz
PR #8 WS-Security imzalama düzeltmesi @batuhanonerr
PR #10 UBLExtensions eksik element oluşturma düzeltmesi @batuhanonerr
PR #11 CAdES-BES imzalama desteği @Burak-Attila
PR #12 e-Bilet rapor tipi ve XAdES-A desteği @ozlemkzn

📚 Tam Dökümantasyon

👉 Sign Platform Dökümanları 👈

Tüm detaylı dökümantasyon merkezi dökümantasyon sitesinde bulunur:

  • 📖 Kurulum ve yapılandırma
  • 🚀 Hızlı başlangıç kılavuzu
  • 🔐 Sertifika yönetimi ve seçimi
  • ⚙️ Docker ve Kubernetes deployment
  • 📊 Monitoring ve performance tuning
  • Zaman damgası servisi
  • 🇹🇷 TÜBİTAK entegrasyonu
  • 💡 Kod örnekleri ve kullanım senaryoları
  • 🔧 DSS override detayları
  • 🧪 Test stratejileri
  • 🔒 Güvenlik en iyi pratikleri

Hızlı Başlangıç

Test Sertifikası ile (5 Dakika)

Unix/Linux/macOS:

./scripts/unix/quick-start-with-test-certs.sh

Windows:

.\scripts\windows\quick-start-with-test-certs.ps1

Docker ile

cd devops/docker
docker-compose up -d

Manuel

export PFX_PATH=./resources/test-certs/testkurum01@test.com.tr_614573.pfx
export CERTIFICATE_PIN=614573
mvn spring-boot:run

API: http://localhost:8085
Docs: http://localhost:8085/ (Scalar UI)
Health: http://localhost:8085/actuator/health


🎯 Özellikler

  • XAdES: e-Fatura, e-Arşiv, XML imzalama
  • CAdES: CMS tabanlı elektronik imzalama (CAdES-BES)
  • PAdES: PDF dijital imzalama
  • WS-Security: SOAP imzalama
  • Timestamp: RFC 3161 (TÜBİTAK ESYA desteği)
  • HSM/PKCS#11: Donanım güvenlik modülü
  • KamuSM Root Sertifika Desteği - Online ve Offline mod desteği
  • Production Ready: Monitoring, logging, metrics

📖 Örnek Kullanım

# e-Fatura imzalama
curl -X POST http://localhost:8085/v1/xadessign \
  -F "document=@efatura.xml" \
  -F "documentType=UblDocument" \
  -o signed-efatura.xml

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

Daha fazla örnek: Örnekler


🛠️ Gereksinimler

  • Java 8+
  • Maven 3.6+
  • PFX sertifikası veya HSM

📂 Proje Yapısı

sign-api/
├── src/main/java/          # Java kaynak kodları
├── devops/                 # Docker, K8s, monitoring
├── scripts/                # Yardımcı scriptler
├── resources/test-certs/   # Test sertifikaları
└── examples/               # Kullanım örnekleri

⚙️ Konfigürasyon

Güvenilir Kök Sertifika Resolver Kullanımı

Sistem üç farklı resolver tipini destekler. TRUSTED_ROOT_RESOLVER_TYPE parametresi ile seçim yapılır.

1. KamuSM XML Depo Online (Varsayılan)

Varsayılan olarak, KamuSM root ve ara sertifikaları otomatik olarak şu adresten yüklenir:

Bu sayede her zaman güncel sertifikalar kullanılır. Periyodik olarak otomatik yenilenir (varsayılan: her gün saat 03:15).

export TRUSTED_ROOT_RESOLVER_TYPE=kamusm-online
export KAMUSM_ROOT_URL=http://depo.kamusm.gov.tr/depo/SertifikaDeposu.xml
export KAMUSM_ROOT_REFRESH_CRON="0 15 3 * * *"  # Her gün saat 03:15

2. KamuSM XML Depo Offline

Offline ortamlarda veya internet bağlantısı olmayan sistemlerde, KamuSM sertifika deposunu yerel dosya sisteminden yükleyebilirsiniz:

export TRUSTED_ROOT_RESOLVER_TYPE=kamusm-offline
export KAMUSM_ROOT_OFFLINE_PATH=file:/path/to/SertifikaDeposu.xml
# veya classpath'ten
export KAMUSM_ROOT_OFFLINE_PATH=classpath:certs/SertifikaDeposu.xml

Offline Mod Kullanım Senaryoları:

  • Air-gapped (izole) sistemler
  • İnternet bağlantısı olmayan ortamlar
  • Güvenlik gereksinimleri nedeniyle dış bağlantı kısıtlamaları
  • Yerel sertifika deposu kullanımı

Not: Offline modda sertifikalar sadece uygulama başlangıcında yüklenir. Otomatik yenileme yapılmaz.

3. Certificate Folder Resolver

Belirtilen klasördeki tüm .crt, .cer ve .pem dosyalarını güvenilir kök sertifika olarak yükler. Bu resolver, özel sertifika klasörlerinden sertifika yüklemek için idealdir.

export TRUSTED_ROOT_RESOLVER_TYPE=certificate-folder
export TRUSTED_ROOT_CERT_FOLDER_PATH=/path/to/certificates
# veya file: prefix ile
export TRUSTED_ROOT_CERT_FOLDER_PATH=file:/path/to/certificates

Certificate Folder Resolver Kullanım Senaryoları:

  • Özel sertifika klasörlerinden yükleme
  • Kurumsal CA sertifikalarının toplu yüklenmesi
  • Test ortamlarında özel sertifika kullanımı
  • Farklı kaynaklardan sertifika birleştirme

Not: Klasördeki tüm geçerli sertifika dosyaları otomatik olarak yüklenir. Alt klasörler taranmaz.


🔗 Önemli Bağlantılar

Dosya ıklama
dss.mersel.dev 📚 Merkezi Dökümantasyon
LICENSE MIT Lisansı
CHANGELOG.md Versiyon geçmişi
CONTRIBUTING.md Katkıda bulunma rehberi
SECURITY.md Güvenlik politikası
TEST_CERTIFICATES.md Test sertifikaları
DSS_OVERRIDE.md DSS özelleştirmeleri

🤝 Katkıda Bulunma

CONTRIBUTING.md dosyasına bakın.


📄 Lisans

MIT


💡 Hatırlatma

Detaylı dökümantasyon, API referansları, deployment rehberleri ve tüm güncellemeler için:

👉 https://dss.mersel.dev merkezi dökümantasyon sitesini ziyaret edin! 📚