DamgaOndiso

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:ProfileID EARSIVFATURA ise 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:ExtensionContent içine yerleşir. Belgede boş bir ext:ExtensionContent varsa o kullanılır; yoksa Damga ext:UBLExtensions'ı kökün ilk çocuğu olarak (ya da mevcut UBLExtensions'a yeni bir UBLExtension) 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:URI değeri #Signature_… ise ds:Signature tam 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:Signature imzalanan 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: SignedInfo C14N 1.0, RSA-SHA256, URI="" başvurusunda tek enveloped-signature dönüşümü (UBL-TR şematronu en fazla bir dönüşüm ister), #SignedProperties başvurusu, X509 sertifikalı KeyInfo. Damga'nın testleri GİB'in örnek faturasındaki gerçek mali mühür imzasının SignedInfo ve SignedProperties kanonikleştirmesini birebir yeniden üretir.

Dikkat: Damga ETSI EN 319 132-1'in istediği xades:SigningCertificateV2 niteliğini kullanır. GİB'in eski örnekleri XAdES 1.3.2'nin xades:SigningCertificate (v1, IssuerSerial ile) 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 Id ile 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.