Urgent.News

What's breaking now, across thousands of outlets.

Tech

GİB e-Fatura UBL-TR XML İmzası Nasıl Hesaplanır? XAdES Mimarisi

GİB e-Fatura UBL-TR XML İmzası Nasıl Hesaplanır? XAdES Mimarisi Türkiye'de elektronik fatura altyapısı OASIS UBL (Universal Business Language) 2.1 standardı üzerine inşa edilmiş UBL-TR 1.2 kılavuzlarına dayanır. XML İmzalama Aşamaları Kanonikleştirme (C14N): XML dosyasındaki boşluklar ve nitelik sıralamaları standartlaştırılır (Canonical XML). Özetleme (SHA-256): Fatura gövdesinin kriptografik…

The article from Dev.to explains the process of calculating UBL-TR XML signatures for GİB e-Fatura in Turkey. The e-Fatura system is built upon the OASIS UBL (Universal Business Language) 2.1 standard, specifically the Turkish version UBL-TR 1.2. The article outlines the steps involved in XML signing, starting with Canonicalization (C14N) which standardizes whitespace and element ordering in the XML document.

Next, a SHA-256 hash of the canonicalized XML document is computed. This hash is then signed using a cryptographic key stored in a smart card provided by TÜBİTAK Kamu SM, resulting in a digital signature. Finally, the XAdES (XML Advanced Electronic Signatures) structure is applied, where the digital signature, along with the relevant certificate information, is embedded into the signature block within the fatura's ext:UBLExtensions section.

Brief written by urgent.news from Dev.to's own syndicated text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

A Valid JWT Does Not Mean Authorized Access

A security review of Salus brought me back to a question that remains after authentication: Can this user access this specific resource? Consider this scenario: User A creates patient X.

Your README Is Lying to New Contributors

Your README Is Lying to New Contributors Here's an experiment: pick five repos you starred in the last year. Clone one. Follow the README's setup instructions exactly. I'll wait.

More from Saturday 19 September →