You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bu...@apache.org on 2015/10/21 18:00:49 UTC

svn commit: r969775 - in /websites/staging/directory/trunk/content: ./ api/user-guide/6.27-oid.html

Author: buildbot
Date: Wed Oct 21 16:00:48 2015
New Revision: 969775

Log:
Staging update by buildbot for directory

Modified:
    websites/staging/directory/trunk/content/   (props changed)
    websites/staging/directory/trunk/content/api/user-guide/6.27-oid.html

Propchange: websites/staging/directory/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Oct 21 16:00:48 2015
@@ -1 +1 @@
-1709873
+1709874

Modified: websites/staging/directory/trunk/content/api/user-guide/6.27-oid.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/6.27-oid.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/6.27-oid.html Wed Oct 21 16:00:48 2015
@@ -185,9 +185,43 @@
 }
 h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
 <h1 id="627-oid">6.27 - Oid<a class="headerlink" href="#627-oid" title="Permanent link">&para;</a></h1>
-<blockquote>
-<p><strong>Note:</strong> Contents for this page will be added soon...</p>
-</blockquote>
+<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">&para;</a></h2>
+<p>An <em>OID</em> stands for <em>Object</em> <em>ID</em>entifier. It's a part of the <em>ASN/1</em>  standard. Basically, it's a hierarchy, named a 'registration tree'. It's a list of 'arcs', which values start at '0', and each arc is separated with a dot ( '.' ).</p>
+<p>There are three defined root arcs :</p>
+<div class="codehilite"><pre><span class="o">*</span> <span class="n">itu</span><span class="o">-</span><span class="n">t</span> <span class="p">(</span>0<span class="p">)</span>
+<span class="o">*</span> <span class="n">iso</span> <span class="p">(</span>1<span class="p">)</span>
+<span class="o">*</span> <span class="n">joint</span><span class="o">-</span><span class="n">iso</span><span class="o">-</span><span class="n">itu</span><span class="o">-</span><span class="n">t</span> <span class="p">(</span>2<span class="p">)</span>
+</pre></div>
+
+
+<p>There is some places on the internet where one can have a look at the existing OIDs. Here is one : <a href="http://www.oid-info.com/cgi-bin/display?tree=&amp;see=all">OID repository</a>.</p>
+<h2 id="syntax">Syntax<a class="headerlink" href="#syntax" title="Permanent link">&para;</a></h2>
+<p>The OID syntax is pretty simple : some numbers with dots between them, like 0.1.245</p>
+<p>There are a few extra rules :</p>
+<div class="codehilite"><pre><span class="o">*</span> <span class="n">The</span> <span class="n">first</span> <span class="n">number</span> <span class="n">must</span> <span class="n">be</span> 0<span class="p">,</span> 1 <span class="n">or</span> 2
+<span class="o">*</span> <span class="n">If</span> <span class="n">it</span><span class="o">&#39;</span><span class="n">s</span> 0 <span class="n">or</span> 1<span class="p">,</span> <span class="n">then</span> <span class="n">the</span> <span class="n">second</span> <span class="n">number</span> <span class="n">must</span> <span class="n">be</span> <span class="n">between</span> 0 <span class="n">and</span> 39
+<span class="o">*</span> <span class="n">A</span> <span class="nb">dot</span> <span class="n">must</span> <span class="n">be</span> <span class="n">preceded</span> <span class="n">and</span> <span class="n">followed</span> <span class="n">by</span> <span class="n">a</span> <span class="n">number</span>
+<span class="o">*</span> <span class="n">A</span> 0 <span class="n">at</span> <span class="n">first</span> <span class="n">position</span> <span class="n">is</span> <span class="n">never</span> <span class="n">followed</span> <span class="n">by</span> <span class="n">any</span> <span class="n">other</span> <span class="n">digit</span>
+<span class="o">*</span> <span class="n">There</span> <span class="n">is</span> <span class="n">no</span> <span class="n">limit</span> <span class="k">for</span> <span class="n">the</span> <span class="n">number</span> <span class="n">of</span> <span class="n">digits</span> <span class="k">otherwise</span> <span class="p">:</span> 2<span class="p">.</span>25<span class="p">.</span>81407072025111374527560065493494091452 <span class="n">is</span> <span class="n">legit</span>
+</pre></div>
+
+
+<h2 id="api">API<a class="headerlink" href="#api" title="Permanent link">&para;</a></h2>
+<p>The <em>Apache LDAP API</em> offers a few functions which can be used to manipulate an OID. In any case, we don't have a constructor for an OID.</p>
+<p>The class to use is <em>org.apache.directory.api.asn1.util.Oid</em>. It creates immutable instances.</p>
+<h3 id="static-oid-frombytes-byte">static Oid fromBytes( byte[] )<a class="headerlink" href="#static-oid-frombytes-byte" title="Permanent link">&para;</a></h3>
+<p>Returns an <em>Oid</em> instance constructed using a <em>byte[]</em> representing an encoded OID.</p>
+<h3 id="static-oid-fromstring-string">static Oid fromString( String )<a class="headerlink" href="#static-oid-fromstring-string" title="Permanent link">&para;</a></h3>
+<p>Returns an <em>Oid</em> instance constructed from a <em>String</em> representing an OID.</p>
+<h3 id="static-boolean-isoid-string">static boolean isOid( String )<a class="headerlink" href="#static-boolean-isoid-string" title="Permanent link">&para;</a></h3>
+<p>Tells if a <em>String</em> is a valid OID.</p>
+<h3 id="string-tostring">String toString()<a class="headerlink" href="#string-tostring" title="Permanent link">&para;</a></h3>
+<p>Return the <em>String</em> representation of an <em>Oid</em> instance.</p>
+<h3 id="byte-tobytes">byte[] toBytes()<a class="headerlink" href="#byte-tobytes" title="Permanent link">&para;</a></h3>
+<p>Return the <em>byte[]</em> representation of an <em>Oid</em> instance.</p>
+<h2 id="oid-parsing">OID parsing<a class="headerlink" href="#oid-parsing" title="Permanent link">&para;</a></h2>
+<p>We use a <em>FSA</em> (Finite State Automaton) to parse a String to get an internal representation of an OID. Here is a picture showing the <em>FSA</em> we are using :</p>
+<p><img alt="OID FSA" src="images/OID-state-automaton.png" /></p>
 
 
     <div class="nav">