An Object Identifier (OID) is an extensively used identification mechanism jointly developed by ITU-T and ISO/IEC for naming any type of object, concept, or “thing” with a globally unambiguous name. More information about OIDs can be found at www.oid-base.com.
There are three well-known notations for OIDs:
2.999{joint-iso-itu-t(2) example(999)}/Joint-ISO-ITU-T/ExampleWEID (WEhowski IDentifier) is another notation for OIDs, developed by Melanie Wehowski and Daniel Marschall:
weid:root:2-RR-2In the initial version of the WEID specification of 2011, only OIDs below the WEID root arc 1.3.6.1.4.1.37553.8 could be used. In a later definition by Daniel Marschall, any existing OID can be written in WEID notation, by defining sub-namespaces.
The registry of sub-namespaces has currently the following entries:
weid: (Also called “Class C” WEID)
1.3.6.1.4.1.37553.81.3.6.1.4.1.37553.8.32488192274 can be written as weid:EXAMPLE-3 (3 is the check digit)weid:pen: (Also called “Class B / PEN” WEID)
1.3.6.1.4.11.3.6.1.4.1.37476.9999 can be written as weid:pen:SX0-7PR-6 (6 is the check digit)weid:pen:(pen-base10): (Alternative Notation for PEN WEID)
weid:pen:(pen-base10):xxx-? is an alias of weid:pen:(pen-base36)-xxx-?weid:pen:37476:7PR-? is equal to weid:pen:SX0-7PR-?weid:uuid: (Also called “Class B / UUID” WEID)
2.252.25.2098739235139107623796528785225371043.37476 can be written as weid:uuid:3D576PEXUZ1EVVF3MKRKOTYB-SX0-?weid:uuid:(uuid-base16): (Alternative Notation for UUID WEID)
weid:uuid:(uuid-base16):xxx-? is an alias of weid:uuid:(uuid-base36)-xxx-?2.25.2098739235139107623796528785225371043.37476 can be written as weid:uuid:019433d5-535f-7098-9e0b-f7b84cf74da3:SX0-?weid:root: (Also called “Class A” WEID)
2.999 can be written as weid:root:2-RR-2 (2 is the check digit)weid:<domain.tld>: (Also called “Domain / Class D” WEID)
weid:<sub>.<domain>.<tld>:... is an alternative notation of weid:DNS-<TLD>-<DOMAIN>-<SUB>-...weid:example.com:HELLO-WORLD-? is equal to weid:DNS-COM-EXAMPLE-HELLO-WORLD-?To get an OID in accordance with Recommendation ITU-T X.600 assigned, you need to find a Registration Authority that assigns you an OID. You can obtain an OID as WEID and manage your own arc, e.g. by:
The construction of a WEID is demonstrated with the example OID 2.999:
2 and 999) are converted from base 10 to base 36, so the arcs become 2 and RR.-, so we have now 2-RR.weid:root:, so we now have weid:root:2-RRIn the end, a Luhn-based check digit (called WeLuhn) is added. If the WEID contains at least one arc, then the check digit is preceded by a hyphen.
2.999)2-RR. Padding zeros must not be present and need to be stripped.2RR.A will be replaced with 10, B will be replaced with 11, etc., so we now have 22727This number is the payload for the normal Luhn algorithm. https://en.wikipedia.org/wiki/Luhn_algorithm which works as follows:
s.((10-s mod 10) mod 10).
22.999 is weid:root:2-RR-2.Recommendations for WEID notation (as of Spec Change 8):
weid: namespace (that represents OID 1.3.6.1.4.1.37553.8), new namespaces weid:root: (which represents the root OID) and weid:pen: (which represents OID 1.3.6.1.4.1) are introduced.weid:pen:SX0-7PR-6 should be chosen rather than weid:root:1-3-6-1-4-1-SX0-7PR-6weid:, weid:pen:, weid:root:) is case insensitive, but it is recommended to write it in lowercase.0 characters is valid (e.g. weid:000EXAMPLE-3), but not recommended. The paddings do not count toward the WeLuhn check digit.Recommendations for WEID notation (as of Spec Change 9):
weid:root:2-RR-? instead of weid:root:2-RR-2. One useful scenario can be the documentation of incomplete/template WEIDs. Another usage is converters (like our online converter) which can help you replace the wildcard with the correct checksum.Changes with Spec Change 10: Domain-WEID:
.) are treated as domain names.weid:example.com:ABC-DEF-? is equal to weid:9-DNS-COM-EXAMPLE-ABC-DEF-?.Changes with Spec Change 11: Proprietary Namespaces:
x-, for example: weid:x-contoso:ABC-DEF-? could be a WEID defined by Contoso Ltd..).Currently, the following custom namespaces are known:
weid:x-frdl:[Base36_NS]-[SubNS]:[Base36_ID]-[CheckDigit] to be defined/implemented by Frdlweb (base idea here).Changes with Spec Change 12: URN Namespace:
urn:x-weid: (whereas x- stands for an unregistered experimental URN). Hence, weid:2-RR-2 can be written as urn:x-weid:2-RR-2.Changes with Spec Change 13: UUID WEID:
weid:uuid:<uuid-base16>:... (Also called “Class B / UUID” WEID) is equal to weid:root:2-P-<uuid-base36>:... which is equal to the root OID 2.25.<uuid-base10>....Changes with Spec Change 14: UUID WEID Update:
weid:uuid:? to be an alias of weid:root:2-P-3 which is OID 2.25.Changes with Spec Change 15: UUID+PEN WEID Update:
weid:uuid:(uuid-base16):xxx-? to be an alias of weid:uuid:(uuid-base36)-xxx-? (which itself is an alias of weid:root:2-P-(uuid-base36)-xxx-?) which represents OID 2.25.(uuid-base10).xxx.weid:pen:(pen-base10):xxx-? to be an alias of weid:pen:(pen-base36)-xxx-? (which itself is an alias of weid:root:1-3-6-1-4-1-(pen-base36)-xxx-?) which represents OID 1.3.6.1.4.1.(pen-base10).xxx.Additional notes:
6ba7b812-9dad-11d1-80b4-00c04fd430c8 according to IETF RFC 9562).The current version of the specification is 15, which is identified with the OID 1.3.6.1.4.1.37553.8.1.8.1.6.1.15 (weid:1-8-1-6-1-F-8).
The standard is also released as ViaThinkSoft/Webfan Standard No. 3
© WEID is developed by Daniel Marschall / ViaThinkSoft and Melanie Wehowski.