DigiMR Dokümantasyonu¶
SDK Versiyon: 2.0 | Son Guncelleme: 2026-04-17 | Durum: Stabil
DigiMR, Türkiye'nin nitelikli elektronik imza altyapısı için kapsamlı bir SDK + REST/gRPC API sistemidir. Bu dokümantasyon müşteri entegrasyon ekiplerine yöneliktir.
30 Saniyede Başla¶
using DigitalSignature.SDK;
using DigitalSignature.Core.Models;
var sdk = new DigitalSignatureSDK();
sdk.SetLicenseFile("digimr-sdk.lic");
using var provider = await sdk.CreateAndAuthenticateProviderAsync(
SigningProviderType.Software,
new AuthenticationContext
{
CertificateData = File.ReadAllBytes("sertifika.pfx"),
CertificatePassword = Environment.GetEnvironmentVariable("PFX_PASSWORD")!
});
var pdfData = File.ReadAllBytes("belge.pdf");
var result = await sdk.SignDataWithProviderAsync(pdfData, provider, new SignatureParameters
{
Format = SignatureFormat.PAdES,
Level = SignatureLevel.B_B
});
File.WriteAllBytes("belge-imzali.pdf", result.SignedData!);
Detay: ORNEKLER.md — Başlangıç
Hızlı Navigasyon¶
| Amacınız | Doküman |
|---|---|
| Hemen kod yaz | ORNEKLER.md — 17 senaryo (C# + curl) |
| Kavramları öğren | KULLANIM_KILAVUZU.md — Rehber anlatım |
| Ne zaman ne kullanayım? | SENARYO_REHBERI.md — Karar diyagramları |
| SDK referansı (.NET) | SDK_REFERANS.md — 23 bölüm + 4 Appendix |
| REST API referansı | API_REFERANS.md — 20 bölüm + 3 Appendix |
Sürüm 2.0'da Yenilik¶
6 yeni SDK metodu:
- CheckReadinessAsync() — Sunucu hazır mı (lisans, TSA, trust store)?
- CheckSignatureTypeAsync() — Format/level hızlı kontrol
- InspectSignaturesAsync() — İmza envanteri (sertifika, zaman, rol)
- ListTsaProviders() — Yapılandırılmış TSA listesi
- VerifyTokenPin() — İmzalamadan PIN doğrulama
- ListSlotCertificates() — Token sertifika listesi
5 yeni REST endpoint:
- POST /verify/check, POST /verify/inspect
- GET /timestamp/providers
- POST /token/pin/verify, GET /token/slots/{id}/certificates
- GET /health/ready
Temel değişiklikler (migration gerekli):
- String-path overload'lar kaldırıldı — yalnız byte[] versiyonlar kaldı
- Tam liste: SDK_REFERANS.md Appendix D
- Migration rehberi: CHANGELOG.md
Hedef Kitleye Göre Yol Haritası¶
Geliştirici — SDK Entegrasyonu¶
- ORNEKLER.md — Başlangıç — ilk 4 örneği kopyala-çalıştır
- SDK_REFERANS.md Bölüm 1-5 — hızlı başlangıç + tam metot tablosu
- KULLANIM_KILAVUZU.md — konsept anlatımı
- SAGLAYICILAR.md — 8 sağlayıcı tipi (Token, HSM, CloudHSM, Mobile, ESeal, RemoteToken, Biometric, Software)
Geliştirici — REST/gRPC Entegrasyonu¶
- API_REFERANS.md Bölüm 2 — endpoint özet tablosu
- ORNEKLER.md İleri Senaryo 12 — ASP.NET Core controller örneği
- API_REFERANS.md Appendix C — gRPC yansıması (port 7702)
Operasyon / DevOps¶
- KURULUM_REHBERI.md — Docker, Kubernetes, sunucu kurulumu
- AGENT_KURULUM.md — Agent kurulumu (masaüstü, tray, port, SSL)
- API_REFERANS.md Bölüm 19 — Health endpoints (
/health,/health/ready)
Entegrasyon — Özel Konular¶
- KAMUSM_TSA_ENTEGRASYONU.md — Kamu SM zaman damgası (RFC 3161 + identity)
- KEP_ENTEGRASYONU.md — Kayıtlı Elektronik Posta
- MOBIL_IMZA.md — Mobil imza (Turkcell, Vodafone, Türk Telekom)
- IMZA_FORMATLARI.md — CAdES/PAdES/XAdES/JAdES/ASiC detayı
Uyum / Hukuk¶
- TURK_MEVZUATI.md — Türk mevzuatı (5070, BTK, P1-P4 profilleri)
- CHANGELOG.md — Sürüm geçmişi
Test / Kalite¶
- DOGRULAMA_ARACLARI.md — DSS Demo ve Türk doğrulayıcıları
Desteklenen Formatlar ve Seviyeler¶
| Format | Standart | Desteklenen Seviyeler |
|---|---|---|
| PAdES | ETSI EN 319 142 | B-B, B-T, B-LT, B-LTA |
| CAdES | ETSI EN 319 122 | B-B, B-T, B-C, B-X, B-LT, B-LTA |
| XAdES | ETSI EN 319 132 | B-B, B-T, B-LT, B-LTA |
| JAdES | ETSI TS 119 182 | B-B, B-T |
| ASiC-S / ASiC-E | ETSI EN 319 162 | B-T, B-LT, B-LTA |
| OOXML | ISO/IEC 29500 | B-T |
| EYP | CBDDO V2.0 / V1.3 | OPC + CAdES (mühür: B-LTA) |
| KEP | 7201 sayılı Kanun | CAdES-T + ZIP |
| UETS | PTT UETS | CAdES-T + ZIP |
Mimari¶
İki kullanım modeli:
In-process SDK (yerel imza) API sunucusu (uzak / diğer diller)
├─ .NET SDK (DigitalSignature.SDK) ├─ REST API (:7701)
└─ Java SDK (saf Java, java-native) └─ gRPC API (:7702)
- .NET SDK: in-process ana kütüphane (
IDigitalSignatureSDK) — imzayı yerelde üretir. - Java SDK: in-process saf Java kütüphanesi (
sdk/java-native, BouncyCastle/PDFBox) — .NET SDK ile aynı modelde imzayı yerelde üretir; modül servisleri (CadesSigner, XAdesSigner, PadesSigner, EYP, …). Saf-Java SDK release'i hazırlanıyor. - Java gRPC istemcisi: API'yi uzaktan çağıran ince istemci (
digimr-sdk-1.0.0-all.jar) — imza sunucuda üretilir. v2.3.2 ile yeniden yayında;sdk/java-nativeçıkana kadar Java'dan API'ye bağlanmanın hazır yolu. - REST API: HTTP/JSON API (port 7701) — tüm SDK metotlarının HTTP yansıması (sunucu gerektirir).
- gRPC API: Binary protokol (port 7702) — yüksek performans, streaming (sunucu gerektirir).
Detay: docs/ARCHITECTURE.md (diagramlar)
SSS¶
S: Lisanssız kullanabilir miyim?
C: 30 gün deneme modu otomatik aktif. Sonrasında .lic dosyası gerekli. Lisans almak: info@moreum.com
S: Hangi token'larla uyumlu? C: Tüm PKCS#11 uyumlu token'lar — SafeNet eToken, Akis, Gemalto, Feitian, Cardwerk. Detay: SAGLAYICILAR.md
S: Linux sunucuda çalışır mı? C: Evet. REST/gRPC API + Java SDK tam Linux uyumlu. Kurulum: KURULUM_REHBERI.md
S: KamuSM TSA bağlanamıyor, ne yapmalıyım?
C: Şifre kontrolü. Production appsettings.json bilerek boş şifre ile gelir. Env var gerekli: TsaProviders__Providers__kamusm__Password=<şifre>. Detay: KAMUSM_TSA_ENTEGRASYONU.md
S: Mevcut v1.x kodumu nasıl v2.0'a geçiririm? C: Migration rehberi: CHANGELOG.md ve SDK_REFERANS.md Appendix D.
Destek¶
- GitHub Issues (müşteri repo):
moreum-tech/MBox - E-posta:
info@moreum.com - Teknik dokümantasyon PDF paketi: MBox release asset'lerinde
digimr-docs.tar.gz