In der Informatik ist ein Object Identifier (OID) ein weltweit eindeutiger Bezeichner, der benutzt wird, um ein Informationsobjekt zu benennen (vgl. URN). Ein OID stellt einen Knoten in einem hierarchisch zugewiesenen Namensraum dar, der durch den ASN.1-Standard definiert ist. Jeder Knoten ist durch eine Folge von Nummern eindeutig gekennzeichnet, die seine Position beginnend an der Wurzel des Baumes angibt. Neue Knoten zur eigenen Verwendung können bei den entsprechenden Autoritäten des übergeordneten Knotens beantragt werden. Die Regeln für die Vergabe und Registrierung von OIDs sind festgelegt in den Normen ITU-T Rec. ITU-T X.660, ISO/IEC 9834 und DIN 66334. Die Verwaltung des OID-Baumes und die Sicherstellung der Eindeutigkeit von OIDs beruhen auf der Übertragung der Zuständigkeit für die untergeordneten Knoten an den Besitzer (Registration Authority) einer OID.
Im internationalen OID-Baum werden alle Kanten von einem Knoten zu Kindknoten durch ganze Zahlen, sogenannte primary integer values, eindeutig identifiziert. Verschiedene Kanten, die von demselben Knoten ausgehen, erhalten verschiedene primary integer values.
Jede Kante ist gleichermaßen mit einer eindeutigen Unicode-Bezeichnung (Unicode label) versehen. Darüber hinaus kann eine Kante eine oder mehrere sekundäre Bezeichnungen (secondary identifiers) haben. Für die sekundären Bezeichnungen gelten die Zeichenrestriktionen für ASN.1-Bezeichnungen (erlaubt sind Buchstaben, Ziffern und Bindestrich; siehe Recommendation ITU-T X.680 | ISO/IEC 8824-1).[1] Die sekundären Bezeichnungen müssen nicht eindeutig sein.
Jedes Objekt ist genau einem Knoten (in der Regel einem Blatt des Baums) zugeordnet. Für ein solches Objekt wird der ASN.1 Object Identifier im engen Sinne als Folge der Kantennummern auf dem Pfad von der Wurzel zu dem entsprechenden Knoten definiert, z. B.:
{1 3 6 1 4 1} gemäß ASN.1-Notation (in diesem Beispiel ohne NameForm-Bezeichner), 1.3.6.1.4.1 gemäß Punkt-Notation, urn:oid:1.3.6.1.4.1 gemäß URN-Notation,[2] /1/3/6/1/4/1 gemäß OID-IRI-Notation (in diesem Beispiel ohne NonInteger-Unicode-Label)
Um die Lesbarkeit zu verbessern, kann der Wert einer ASN.1 OID unter Verwendung der zugehörigen sekundären Bezeichnungen referenziert werden:
{iso(1) identified-organisation(3) dod(6) internet(1) private(4) enterprise(1)} gemäß ASN.1-Notation
Der ASN.1 OID-IRI (OID internationalized resource identifier) entsteht durch eine durch Slash /
separierte Verkettung der Unicode-Bezeichnung:
"/ISO/Identified-Organization/6/1/4/1" gemäß OID-IRI-Notation
Durch Unicode-Bezeichnungen referenzierte zusätzlich definierte, von der Wurzel ausgehende Kanten, sogenannte long arcs, kann sich für die OID-IRI eine kürzere äquivalente Schreibweise ergeben (ähnlich symbolischer Links in Dateisystemen).[3]
Die Kanten von der Wurzel des OID-Baums wurden wie folgt definiert:
0: ITU-T 1: ISO 2: joint-iso-itu-t
Eine Erweiterung durch eine weitere Standardisierungsorganisation ist technisch nicht möglich, da in der Binärkodierung von OIDs wie z. B. der BER/CER/DER-Kodierung zugunsten einer Komprimierung kein weiterer Platz reserviert wurde.[4][5]
Es gibt viele Wege, eine OID zugewiesen zu bekommen, sowohl kostenpflichtige als auch kostenlose. Ein paar Beispiele: