Czy dzisiaj, wobec dominacji XML wśród formatów dokumentu elektronicznego i protokołów sieciowych, nie należałoby stopniowo odchodzić od pochodzących z innego świata wtrąceń kodowanych w DER? Mamy OOXML, ODF. Mamy też XAdES i XML-DSig, na którym wszystkie w/w się opierają. We wszystkich tych formatach występuje ciekawa zaszłość historyczna czyli element X509Data. Jest to kontener, który w drzewie XML przechowuje certyfikat X.509 jako plik w formacie DER zakodowany jako BASE64. Przykład:
- sigillumpro qs xades nots.xml
</ul>
W strukturze XML pole X509Data to wtręt z innego świata i z punktu widzenia aplikacji przetwarzającej dokument jest to struktura nieprzezroczysta. Żeby trochę ułatwić aplikacji wgląd w tę strukturę do drzewa XML skopiowane zostało kilka pól z certyfikatu (X509IssuerSerial, X509SubjectName itd) ale to tylko półśrodek.
Wgląd w pozostałe pola certyfikatu jest możliwy tylko w jeden sposób - przez odtworzenie takiego bloba i zdekodowanie DER. Wady takiego podejścia są następujące:
- niższa efektywność - aplikacja przetwarzając drzewo XML musi uruchamiać dodatkowy dekoder DER
- większa złożoność - poza jednym modułem do przetwarzania XML aplikacja musi używać drugiego - do DER; złożoność ma konsekwencje dla bezpieczeństwa - zamiast jednej dziury w parserze XML aplikacja będzie mieć ich dwie - drugą w parserze DER; oba dekodery są bardzo złożone, mają inną filozofię, inne standardy, API itd.
- mniejsza funkcjonalność - ponieważ certyfikat nie jest integralną częścią drzewa XML, nie jest możliwe przeszukiwanie go za pomocą XPath i inne formy szybkiego przetwarzania </ul> W jakim kierunku powinna pójść zatem ewolucja standardów elektronicznej tożsamości i podpisu elektronicznego? Teoretycznie nic nie stoi na przeszkodzie by X.509 kodować jako XML, bo standard wyraźnie oddziela opis struktur (ASN.1) od kodowania (BER, DER). Istnieje nawet mało znane kodowanie XML Encoding Rules - XER (X.693) lub nowsze Robust XML Encoding Rules - RXER (RFC 4910), które można zastosować do zapisania certyfikatu X.509 jako struktury XML. Zachowują one jednak filozofię X.509. W nieco szerszej perspektywie wydaje mi się jednak, że czas X.509 powoli przemija. Architektura X.509 ma wiele wad, z których głównymi są hermetyczność standardów, monumentalizm architektury oraz ograniczona funkcjonalność, łatana później za pomocą certyfikatów atrybutów i innych dodatków. Być może rozwiązaniem byłaby filozofia SPKI/SDSI, opakowana w XML zamiast nieco archaicznych s-wyrażeń i pozbawiona niektórych wad XML-DSig?