Problem
XRoadIdentifierType elements are defined as type="xs:string" without additional technical suggestions or technical restrictions (size/length, allowed/denied characters, restricted keywords), which creates misunderstandings and possible security issues both in X-Road core and in side systems.
XRoadIdentifierType elements are xRoadInstance, memberClass, memberCode, subsystemCode, serviceCode, serviceVersion, they are significant entities in the X-Road system, have to be globally unique identifiers.
They are used by unique addressing of X-Road queries within core system (message transport, proxy etc).
They are also widely in use by pre-side-systems like RIHA (in EE), probably also TUHA (FI) while registering X-Road members, subsystems and services.
They are also widely in use by after-side-systems like environmental and operational monitoring, logging, anomalies detection, member report generation.
The only known restrictions are and <xs:element minOccurs="0" ...>
Also, in RIHA manual https://moodle.ria.ee/mod/page/view.php?id=420, it has been said about subSystemCode suggestions: "The short name may only include lowercase Latin letters (no accented letters), numbers, and the minus sign." but it is not implemented technically nor in RIHA nor in X-Road.
Acceptance criteria
suggestions to document and implement technical restrictions as of:
NB! Due to no technical restrictions, there are already registered and in production systems which do not follow the suggested technical restrictions. As of best knowledge, they fit under restriction
Affected components: - Affected documentation: X-Road: Message Protocol v4.0 Estimated delivery: - External reference: https://jira.ria.ee/browse/RK-12409
Problem XRoadIdentifierType elements are defined as type="xs:string" without additional technical suggestions or technical restrictions (size/length, allowed/denied characters, restricted keywords), which creates misunderstandings and possible security issues both in X-Road core and in side systems.
XRoadIdentifierType elements are xRoadInstance, memberClass, memberCode, subsystemCode, serviceCode, serviceVersion, they are significant entities in the X-Road system, have to be globally unique identifiers. They are used by unique addressing of X-Road queries within core system (message transport, proxy etc). They are also widely in use by pre-side-systems like RIHA (in EE), probably also TUHA (FI) while registering X-Road members, subsystems and services. They are also widely in use by after-side-systems like environmental and operational monitoring, logging, anomalies detection, member report generation.
The only known restrictions are and <xs:element minOccurs="0" ...>
Also, in RIHA manual https://moodle.ria.ee/mod/page/view.php?id=420, it has been said about subSystemCode suggestions: "The short name may only include lowercase Latin letters (no accented letters), numbers, and the minus sign." but it is not implemented technically nor in RIHA nor in X-Road.
Acceptance criteria
NB! Due to no technical restrictions, there are already registered and in production systems which do not follow the suggested technical restrictions. As of best knowledge, they fit under restriction
, i.e allowing additionally capitals [A-Z], underscore [_] and/or dot [.]