C_11554_Anlage_V1.0.0


1 Änderung in gemSpec_Perf

< Einfügen neues Kapitel 5.4 User-Agent >

< keine Zuordnung zu Produkttypen, lediglich Vorbereitung für Zuweisung >

A_26182 - User-Agent - Erkennung des eingesetzten Clientsystems

Der Produkttyp MUSS das vom aufrufenden Nutzer verwendete Clientsystem anhand des im HTTP-Request enthaltenen Header-Feld "User-Agent" gemäß [RFC7231] erkennen und in den Einträgen zur Betriebsdatenerfassung gemäß [gemSpec_Perf] erfassen. Findet eine VAU-Kommunikation statt, so ist vorrangig der User-Agent des inneren HTTP-Requests zu erfassen. [<=]

< keine Zuordnung zu Produkttypen, lediglich Vorbereitung für Zuweisung >

A_26183 - User-Agent - Format

Das Format des HTTP Header-Feldes "User-Agent" gemäß [RFC7231] MUSS ausschließlich in folgendem Format akzeptiert werden:

<Client-ID>/<Version>

  • <Client-ID>: Alphanumerische Zeichen a-z,A-Z,0-9, sowie dem Trennzeichen "-" mit Länge von 18 bis 20 Zeichen → vergeben durch die gematik
  • <Version>: Alphanumerische Zeichen a-z,A-Z,0-9, sowie dem Trennzeichen "." und "-" mit Länge von 1 bis 20 Zeichen → vergeben durch das Clientsystem
[<=]

< keine Zuordnung zu Produkttypen, lediglich Vorbereitung für Zuweisung >

A_26184 - User-Agent - Reporting im Fehlerfall

Der Produkttyp MUSS bei inkorrekt formatiertem "UserAgent" gem. A_26183 den fehlerhaften Wert erfassen, sofern er dem regulären Ausdruck ^[\w\.\/\s\-\(\)\&\%\;\[\]\+\<\>\#\?\@\:\,]+$ entspricht - also eine entsprechende Code-Injection ausgeschlossen werden kann. Der erfasste Wert soll dann entsprechend der Regelungen zum BDEv2-Messageblock als Ersatz für den Wert des eigentlichen UserAgents übertragen, mindestens jedoch protokolliert werden.

Wird der bemängelte UserAgent aufgrund mangelnder Konformität mit den benannten regulären Ausdruck nicht protokolliert, so ist entsprechend der Regelungen zur Betriebsdatenlieferung der Wert "invalid" zu protokollieren und zu übertragen.
[<=]

< keine Zuordnung zu Produkttypen, lediglich Vorbereitung für Zuweisung >

A_26185 - User-Agent - Fehlerbehandlung

Der Produkttyp MUSS bei fehlendem oder inkorrekt formatierten Header-Feld "User-Agent" den Request mit dem HTTP-Status-Code 400 beantworten.
In den Protokolleinträgen zu Betriebsdaten muss als Status der Operation/des Aufrufs jeweils einer der folgend definierten 5-stelligen Statuscodes genutzt werden:

  • Statuscode 79200: fehlender User-Agent
  • Statuscode 79201: inkorrekt formatierter User-Agent
[<=]

2 Änderung in gemILF_PS

Neues Kapitel 4.6 Kommunikation mit Diensten der TI wird hinzugefügt.

In diesem Kapitel wird folgende neue Anforderung hinzugefügt:

A_26171 - Clientsystem - User-Agent - Aufbau und Format bei der Kommunikation mit Diensten der TI

Das Clientsystem MUSS in alle HTTP-Requests an Dienste der TI den HTTP-Header User-Agent gemäß [RFC7231] mit <clientid>/<version> befüllen.

  • <clientid> gemäß eigener Definition, Länge 18-20 Zeichen, Zeichenvorrat [0-9a-zA-Z\-] → vergeben durch die gematik
  • <version> gemäß Produktidentifikation, Länge 1-20 Zeichen, Zeichenvorrat [0-9a-zA-Z\-\.] → vergeben durch den Hersteller des Clientsystems
Findet eine VAU-Kommunikation statt, so ist im äußeren, als auch im inneren HTTP-Request derselbe korrekte User-Agent zu setzen.
[<=]

3 Hinweis für zukünftige Umsetzungen dieser Anforderungslage

Bei Einbindung der Anforderungslage ist darauf zu achten, dass die Anforderungen zum produktspezifischen BDEv2-Messageblock entsprechend anzupassen sind.

  1. Anpassung der Anforderung hin zu getrennter Lieferung der Werte Client-ID und Produktversion (aus dem UserAgent)