e-Fatura ve e-Defter (XAdES)
Damga XML belgeleri XAdES ile imzalar ve mühürler: e-Fatura ve e-Arşiv faturası (UBL-TR), e-İrsaliye, e-Defter ve beratı ya da herhangi bir XML. Kullanıcı e-imza USB'sine takılı sertifikayla imzalar: kişisel nitelikli e-imza (NES), mali mühür ya da kurumsal e-mühür. Bu sayfa Damga'nın bu işte neyi yaptığını ve neyi yapmadığını anlatır.
Damga ne yapar
- XML'i alır, güvenli biçimde okur (DOCTYPE / ENTITY tanımı olan belge kabul edilmez; dış kaynak hiç yüklenmez) ve türünü tanır: UBL-TR faturası (
Invoice,cbc:ProfileIDEARSIVFATURAise e-Arşiv), e-İrsaliye (DespatchAdvice), e-Defter (edefter:defter) ve berat. - İmza sayfasında belgeyi girintili, salt okunur önizler; parmak izini ve "e-Fatura (UBL-TR) · mali mühürle imzalanacak" gibi bir etiketi gösterir.
- Kullanıcının Damga uygulaması XAdES-BES imzasını (ETSI EN 319 132-1 baseline B-B) e-imza USB'siyle atar ve XML'in içine yerleştirir. PIN tarayıcıdan uygulamaya uçtan uca şifreli gider; özel anahtar e-imza USB'sinden çıkmaz.
- Sunucu imzalı XML'i teslim almadan önce doğrular: imza değeri, başvuru özetleri,
SignedProperties, sertifika özeti ve geçerliliği, beklenen VKN / T.C. kimlik no, izinli sertifika türü ve imza dışında belgenin değişmediği. - İmzalı XML'i API'den (
GET /sign-requests/{id}/document/signed) ya da panelde Belgelerim'den indirirsiniz; doğrulama kodu ve /dogrula sayfası PDF'lerdeki gibi çalışır.
Damga ne yapmaz
- GİB'e, özel entegratöre ya da alıcıya gönderim yapmaz. e-Fatura'nın GİB'e (ya da entegratörünüze) iletilmesi, zarflama (SBDH), uygulama yanıtları, e-Arşiv raporlaması, e-Defter'in ve beratın GİB'e yüklenmesi sizin ya da entegratörünüzün işidir. Damga yalnız imzalar.
- Belgeyi üretmez ya da düzeltmez. UBL-TR şema / şematron uygunluğu, fatura numarası,
cac:Signatureöğesinin içeriği, XSLT görünümü gönderdiğiniz XML'e aittir. Damga XML'i değiştirmez; yalnız imzayı (ve UBL profilinde gerekirse boş uzantı sarmalayıcısını) ekler. - Şema doğrulaması yapmaz. XML'in iyi biçimli olduğunu ve imzanın doğru yerde olduğunu denetler; UBL-TR / XBRL-GL kurallarına uygunluğu denetlemez.
- Mali mühür vermez. Mali mühür sertifikası Kamu SM'den alınır; Damga mevcut e-imza USB'nizi kullanır.
e-Fatura ve e-Arşiv (UBL-TR)
format: "xades", xades.profile: "ubl" ile gönderin; mührü kurumla sınırlamak için signer.tax_id ve allowed_kinds: ["mali_muhur"] ekleyin (API).
- İmza
ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContentiçine yerleşir. Belgede boş birext:ExtensionContentvarsa o kullanılır; yoksa Damgaext:UBLExtensions'ı kökün ilk çocuğu olarak (ya da mevcutUBLExtensions'a yeni birUBLExtension) ekler. Belge üreticiniz zaten boş bir<ext:ExtensionContent/>yazıyorsa belge baytları imzanın dışında hiç değişmez. cac:Signature/cac:DigitalSignatureAttachment/cac:ExternalReference/cbc:URIdeğeri#Signature_…iseds:Signaturetam bu Id'yi alır (GİB örneklerindeki gibi).cac:Signature/cbc:ID schemeID="VKN_TCKN"dolu ise imzalayan sertifikanın VKN'si (şahıs işletmesinde T.C. kimlik no) bununla aynı olmalı; değilse imza reddedilir (signer_mismatch).cac:Signatureimzalanan içeriğin parçasıdır: imzalamadan önce doğru VKN'yi siz yazarsınız.- İmza yapısı GİB'in yayımladığı imzalı örneklerle aynı iskelettedir:
SignedInfoC14N 1.0, RSA-SHA256,URI=""başvurusunda tekenveloped-signaturedönüşümü (UBL-TR şematronu en fazla bir dönüşüm ister),#SignedPropertiesbaşvurusu, X509 sertifikalıKeyInfo. Damga'nın testleri GİB'in örnek faturasındaki gerçek mali mühür imzasınınSignedInfoveSignedPropertieskanonikleştirmesini birebir yeniden üretir.
Dikkat: Damga ETSI EN 319 132-1'in istediği
xades:SigningCertificateV2niteliğini kullanır. GİB'in eski örnekleri XAdES 1.3.2'ninxades:SigningCertificate(v1,IssuerSerialile) niteliğini taşır. Damga'nın imzaladığı faturaları canlıya almadan önce GİB'in e-Fatura test ortamında ya da özel entegratörünüzün doğrulayıcısında deneyin; entegratörünüz v1 nitelik istiyorsa bize bildirin.
e-Defter
format: "xades", xades.profile: "edefter". Kök eleman http://www.edefter.gov.tr ad alanında olmalı (edefter:defter ya da berat); imza kökün son çocuğu olarak eklenir (enveloped, URI=""), yani xbrli:xbrl öğesinden sonra.
Dikkat: GİB'in e-Defter kılavuzlarına göre defter ve berat dosyaları XAdES (en az XAdES-BES) ile, enveloped yöntemle mali mühür ya da NES ile imzalanır ve imza "defter" kök elemanının son veri grubudur. Damga bu profili bu genel kurala göre uygular; GİB'in e-Defter yükleme / doğrulama kurallarının tamamını (ör. imzanın belirli bir öğeye
Idile başvurması gibi ayrıntılar) bağımsız olarak doğrulayamadık. e-Defter'i Damga ile imzalamadan önce GİB'in e-Defter test aracıyla (e-Defter Kontrol Aracı / test ortamı) doğrulayın; sorun çıkarsa bize örnekle bildirin.
Kanonikleştirme ve uyumluluk
| Değer | |
|---|---|
| İmza biçimi | XAdES-BES (ETSI EN 319 132-1 B-B), XAdES 1.3.2 ad alanı |
SignedInfo kanonikleştirme |
C14N 1.0 inclusive, yorumsuz (http://www.w3.org/TR/2001/REC-xml-c14n-20010315) |
| Belge başvurusu | URI="", enveloped-signature, SHA-256 |
| İmza algoritması | rsa-sha256 (RSA anahtarlar) ya da ecdsa-sha256 (EC anahtarlar) |
| İmza nitelikleri | SigningTime (UTC), SigningCertificateV2 (SHA-256), DataObjectFormat (text/xml) |
KeyInfo |
X509Data/X509Certificate (imzalayan + e-imza USB'sindeki zincir) |
| Zaman damgası | level: "T" ile XAdES-T: xades:SignatureTimeStamp (RFC 3161, ds:SignatureValue'nun exclusive C14N'i üzerinde). XAdES-LT / LTA (CertificateValues, RevocationValues, arşiv damgası) henüz yok |
Damga doğrularken C14N 1.0 (yorumlu / yorumsuz) ve exclusive C14N'i, RSA / ECDSA ile SHA-256/384/512'yi kabul eder; SHA-1 ve XPath / XSLT dönüşümleri kabul edilmez. XML'de tek bir ds:Signature olmalı ve imza belgenin tamamını (URI="") kapsamalıdır.
Panelden XML imzalamak
Belgelerim'de XML imzala / mühürle'yi seçip XML'i yükleyin. Belgenin türü ve imzanın yeri belge sayfasında yazar; "e-İmza ile imzala" (NES) ya da "Mühürle" (mali mühür / e-mühür) ile imzalayın. İmzalı XML arşive eklenir ve indirilebilir. İmzalat (çok taraflı imza) yalnız PDF'lerle çalışır.