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 2016/01/27 02:50:46 UTC
svn commit: r978679 - in /websites/staging/directory/trunk/content: ./
kerby/ kerby/download/ kerby/user-guide/
Author: buildbot
Date: Wed Jan 27 01:50:45 2016
New Revision: 978679
Log:
Staging update by buildbot for directory
Added:
websites/staging/directory/trunk/content/kerby/hierarchy.png (with props)
websites/staging/directory/trunk/content/kerby/kerby-asn1.html
Modified:
websites/staging/directory/trunk/content/ (props changed)
websites/staging/directory/trunk/content/kerby/developer-guide.html
websites/staging/directory/trunk/content/kerby/download/download-archive.html
websites/staging/directory/trunk/content/kerby/download/download-sources.html
websites/staging/directory/trunk/content/kerby/downloads.html
websites/staging/directory/trunk/content/kerby/features.html
websites/staging/directory/trunk/content/kerby/index.html
websites/staging/directory/trunk/content/kerby/issues.html
websites/staging/directory/trunk/content/kerby/news.html
websites/staging/directory/trunk/content/kerby/overview.html
websites/staging/directory/trunk/content/kerby/user-guide.html
websites/staging/directory/trunk/content/kerby/user-guide/1-how-to-begin.html
websites/staging/directory/trunk/content/kerby/user-guide/2-kerberos-library.html
websites/staging/directory/trunk/content/kerby/user-guide/2.1-krbclient-apis.html
websites/staging/directory/trunk/content/kerby/user-guide/2.2-kadmin.html
websites/staging/directory/trunk/content/kerby/user-guide/2.3-kdcserver.html
websites/staging/directory/trunk/content/kerby/user-guide/2.4-simplekdcserver.html
websites/staging/directory/trunk/content/kerby/user-guide/3-tools.html
websites/staging/directory/trunk/content/kerby/user-guide/3.1-kdcinit.html
websites/staging/directory/trunk/content/kerby/user-guide/3.2-kadmin.html
websites/staging/directory/trunk/content/kerby/user-guide/3.3-kinit.html
websites/staging/directory/trunk/content/kerby/user-guide/3.4-klist.html
websites/staging/directory/trunk/content/kerby/user-guide/4-identity-backend.html
websites/staging/directory/trunk/content/kerby/user-guide/5-crypto-and-encryption-types.html
websites/staging/directory/trunk/content/kerby/user-guide/6-network-support.html
websites/staging/directory/trunk/content/kerby/user-guide/7-dependency.html
websites/staging/directory/trunk/content/kerby/vision.html
Propchange: websites/staging/directory/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Jan 27 01:50:45 2016
@@ -1 +1 @@
-1726744
+1726932
Modified: websites/staging/directory/trunk/content/kerby/developer-guide.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/developer-guide.html (original)
+++ websites/staging/directory/trunk/content/kerby/developer-guide.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/download/download-archive.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/download/download-archive.html (original)
+++ websites/staging/directory/trunk/content/kerby/download/download-archive.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/download/download-sources.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/download/download-sources.html (original)
+++ websites/staging/directory/trunk/content/kerby/download/download-sources.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/downloads.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/downloads.html (original)
+++ websites/staging/directory/trunk/content/kerby/downloads.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/features.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/features.html (original)
+++ websites/staging/directory/trunk/content/kerby/features.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Added: websites/staging/directory/trunk/content/kerby/hierarchy.png
==============================================================================
Binary file - no diff available.
Propchange: websites/staging/directory/trunk/content/kerby/hierarchy.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Modified: websites/staging/directory/trunk/content/kerby/index.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/index.html (original)
+++ websites/staging/directory/trunk/content/kerby/index.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
@@ -216,8 +217,79 @@ h2:hover > .headerlink, h3:hover > .head
<p><h2 class="news">Apache Kerby 1.0.0-RC1 released <em>posted on September 16th, 2015</em></h2></p>
<p>The Apache Directory team is pleased to announce the release of Apache Kerby 1.0.0-RC1, the
first release candidate towards a 1.0 version.</p>
-<p>Apache Kerby™ is a Java Kerberos binding. It provides a rich, intuitive and interoperable implementation, library, KDC and various facilities that integrates PKI, OTP and token (OAuth2) as desired in modern environments such as cloud, Hadoop and mobile.</p>
-<p>Downloads are available <a href="downloads.html">here</a></p></div>
+<p>Downloads are available <a href="downloads.html">here</a></p>
+<h1 id="apache-kerby-100-rc1-release-note">Apache Kerby 1.0.0-RC1 Release Note<a class="headerlink" href="#apache-kerby-100-rc1-release-note" title="Permanent link">¶</a></h1>
+<p>In this release 236 JIRA issues were resolved and the following features are supported:</p>
+<ol>
+<li>
+<p>Kerberos libraries:</p>
+<ul>
+<li>Client</li>
+<li>KDC server</li>
+<li>Kadmin</li>
+<li>Credential cache and keytab utilities</li>
+</ul>
+</li>
+<li>
+<p>Standalone KDC server .</p>
+</li>
+<li>
+<p>Support for various identity backends:</p>
+<ul>
+<li>In-memory</li>
+<li>JSON</li>
+<li>LDAP</li>
+<li>Mavibot(MVCC BTree)</li>
+<li>Zookeeper</li>
+</ul>
+</li>
+<li>
+<p>Embedded KDC server allows easy integration into products for unit tests or production deployment.</p>
+</li>
+<li>
+<p>FAST/Preauthentication framework to allow popular and useful authentication mechanisms.</p>
+</li>
+<li>
+<p>Token Preauth mechanism to allow clients to request tickets using JWT tokens.</p>
+</li>
+<li>
+<p>Client can request a TGT with:</p>
+<ul>
+<li>User plain password credential</li>
+<li>User keyTab</li>
+<li>User token credential</li>
+</ul>
+</li>
+<li>
+<p>Client can request a service ticket with:</p>
+<ul>
+<li>user TGT credential for a server</li>
+<li>user AccessToken credential for a server</li>
+</ul>
+</li>
+<li>
+<p>Network support including UDP and TCP transport with two implementations:</p>
+<ul>
+<li>Default implementation based on the JRE without depending on other libraries.</li>
+<li>Netty based implementation for better throughput, lower latency.</li>
+</ul>
+</li>
+<li>
+<p>Tools:</p>
+<ul>
+<li>kdcinit: Initialize and prepare KDC, like choose storage type, setting up necessary principals (tgs, kadmin) etc.</li>
+<li>kadmin: Command-line interfaces to administration system.</li>
+<li>kinit: Obtains and caches an initial ticket-granting ticket for principal.</li>
+<li>klist: Lists the Kerby principal and tickets held in a credentials cache, or the keys held in a keytab file.</li>
+</ul>
+</li>
+<li>
+<p>Support for JAAS, GSSAPI and SASL frameworks that applications can leverage the authentication mechanisms provided by Kerby.</p>
+</li>
+<li>
+<p>Building support: checking style and find bugs.</p>
+</li>
+</ol></div>
-->
Modified: websites/staging/directory/trunk/content/kerby/issues.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/issues.html (original)
+++ websites/staging/directory/trunk/content/kerby/issues.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Added: websites/staging/directory/trunk/content/kerby/kerby-asn1.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/kerby-asn1.html (added)
+++ websites/staging/directory/trunk/content/kerby/kerby-asn1.html Wed Jan 27 01:50:45 2016
@@ -0,0 +1,531 @@
+<!DOCTYPE html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+ <head>
+ <title>Kerby ASN1 — Apache Directory</title>
+
+ <link href="./../css/common.css" rel="stylesheet" type="text/css">
+ <link href="./../css/orange.css" rel="stylesheet" type="text/css">
+
+
+ <link rel="shortcut icon" href="./../images/api-icon_16x16.png">
+
+ <!-- Google Analytics -->
+ <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
+ <script type="text/javascript">
+ _uacct = "UA-1358462-1";
+ urchinTracker();
+ </script>
+ </head>
+ <body>
+ <div id="container">
+ <div id="header">
+ <div id="subProjectsNavBar">
+ <a href="./../">
+
+ Main
+
+ </a>
+ |
+ <a href="./../apacheds">
+
+ ApacheDS
+
+ </a>
+ |
+ <a href="./../studio">
+
+ Studio
+
+ </a>
+ |
+ <a href="./../api">
+
+ LDAP API
+
+ </a>
+ |
+ <a href="./../mavibot">
+
+ Mavibot
+
+ </a>
+ |
+ <a href="./../escimo">
+
+ eSCIMo
+
+ </a>
+ |
+ <a href="./../fortress">
+
+ Fortress
+
+ </a>
+ |
+ <a href="./../kerby">
+
+ <STRONG>Kerby</STRONG>
+
+ </a>
+ </div><!-- subProjectsNavBar -->
+ </div><!-- header -->
+ <div id="content">
+ <div id="leftColumn">
+
+<div id="navigation">
+
+ <h5>Kerby</h5>
+ <ul>
+ <li><a href="./../kerby/">Home</a></li>
+ <li><a href="./../kerby/news.html">News</a></li>
+ <li><a href="./../kerby/features.html">Features</a></li>
+ </ul>
+ <h5>Downloads</h5>
+ <ul>
+ <li><a href="./../kerby/downloads.html">Version 1.0.0-RC1</a> <IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+ <!-- li><a href="/download-old-versions.html">Older versions</a></li -->
+ </ul>
+ <h5>Getting Started</h5>
+ <ul>
+ <!--li><a href="./../kerby/vision.html">Vision</a></li-->
+ <li><a href="./../kerby/issues.html">Issues</a></li>
+ </ul>
+ <h5>Documentation</h5>
+ <ul>
+ <li><a href="./../kerby/overview.html">Overview</a></li>
+ <!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
+ <li><a href="./../kerby/user-guide.html">User Guide</a></li>
+ <!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
+ <!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
+ <!--li><a href="./../kerby/gen-docs/latest/">Generated Reports</a></li-->
+ <li><a href="./../kerby/developer-guide.html">Developer Guide</a></li>
+ </ul>
+
+
+ <h5>Support</h5>
+ <ul>
+ <li><a href="./../mailing-lists-and-irc.html">Mailing Lists & IRC</a></li>
+ <li><a href="./../sources.html">Sources</a></li>
+ <li><a href="./../issue-tracking.html">Issue Tracking</a></li>
+ <li><a href="./../commercial-support.html">Commercial Support</a></li>
+ </ul>
+ <h5>Community</h5>
+ <ul>
+ <li><a href="./../contribute.html">How to Contribute</a></li>
+ <li><a href="./../team.html">Team</a></li>
+ <li><a href="./../original-project-proposal.html">Original Project Proposal</a></li>
+ <li><a href="./../special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+ </ul>
+ <h5>About Apache</h5>
+ <ul>
+ <li><a href="http://www.apache.org/">Apache</a></li>
+ <li><a href="http://www.apache.org/licenses/">License</a></li>
+ <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+ <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ <li><a href="http://www.apache.org/security/">Security</a></li>
+ </ul>
+
+</div><!-- navigation -->
+
+ </div><!-- leftColumn -->
+ <div id="rightColumn">
+
+
+
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+ It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+ visibility: hidden;
+}
+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="kerby-asn1">Kerby ASN1<a class="headerlink" href="#kerby-asn1" title="Permanent link">¶</a></h1>
+<h3 id="asn1-hierarcy">ASN1 hierarcy<a class="headerlink" href="#asn1-hierarcy" title="Permanent link">¶</a></h3>
+<p><img alt="" src="hierarchy.png" /></p>
+<h3 id="a-asn1-parser-with-easy-and-simple-api">A ASN1 parser with easy and simple API<a class="headerlink" href="#a-asn1-parser-with-easy-and-simple-api" title="Permanent link">¶</a></h3>
+<p>```
+// encoding
+Asn1Integer aValue = new Asn1Integer(8899);
+byte[] encoded = aValue.encode();</p>
+<p>// decoding
+byte[] contentToDecode = ...
+Asn1Integer decodedValue = new Asn1Integer();
+decodedValue.decode(contentToDecode);
+Integer value = decodedValue.getValue();
+```</p>
+<h3 id="data-driven-asn1-encodingdecoding-framework-and-parser">Data-driven ASN1 encoding/decoding framework and parser<a class="headerlink" href="#data-driven-asn1-encodingdecoding-framework-and-parser" title="Permanent link">¶</a></h3>
+<p>With the following definition from Kerberos protocol
+<code>AuthorizationData ::= SEQUENCE OF SEQUENCE {
+ ad-type [0] Int32,
+ ad-data [1] OCTET STRING
+ }</code></p>
+<p>You can model AuthzDataEntry as follows
+```java
+public class AuthorizationDataEntry extends KrbSequenceType {
+ /*<em>
+ * The possible fields
+ </em>/
+ protected enum AuthorizationDataEntryField implements EnumType {
+ AD_TYPE,
+ AD_DATA;</p>
+<div class="codehilite"><pre> <span class="o">/**</span>
+ <span class="o">*</span> <span class="p">{@</span><span class="n">inheritDoc</span><span class="p">}</span>
+ <span class="o">*/</span>
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">int</span> <span class="n">getValue</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">ordinal</span><span class="p">();</span>
+ <span class="p">}</span>
+
+ <span class="o">/**</span>
+ <span class="o">*</span> <span class="p">{@</span><span class="n">inheritDoc</span><span class="p">}</span>
+ <span class="o">*/</span>
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">name</span><span class="p">();</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="o">/**</span> <span class="n">The</span> <span class="n">AuthorizationDataEntry</span><span class="o">'</span><span class="n">s</span> <span class="n">fields</span> <span class="o">*/</span>
+<span class="n">private</span> <span class="n">static</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="n">fieldInfos</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="p">{</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">AuthorizationDataEntryField</span><span class="p">.</span><span class="n">AD_TYPE</span><span class="p">,</span> <span class="n">Asn1Integer</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">AuthorizationDataEntryField</span><span class="p">.</span><span class="n">AD_DATA</span><span class="p">,</span> <span class="n">Asn1OctetString</span><span class="p">.</span><span class="n">class</span><span class="p">)</span>
+<span class="p">};</span>
+
+<span class="o">/**</span>
+ <span class="o">*</span> <span class="n">Creates</span> <span class="n">an</span> <span class="n">AuthorizationDataEntry</span> <span class="n">instance</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">AuthorizationDataEntry</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span><span class="n">fieldInfos</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="o">/**</span>
+ <span class="o">*</span> <span class="p">@</span><span class="k">return</span> <span class="n">The</span> <span class="n">AuthorizationType</span> <span class="p">(</span><span class="n">AD_TYPE</span><span class="p">)</span> <span class="n">field</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">AuthorizationType</span> <span class="n">getAuthzType</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">Integer</span> <span class="n">value</span> <span class="p">=</span> <span class="n">getFieldAsInteger</span><span class="p">(</span><span class="n">AuthorizationDataEntryField</span><span class="p">.</span><span class="n">AD_TYPE</span><span class="p">);</span>
+ <span class="k">return</span> <span class="n">AuthorizationType</span><span class="p">.</span><span class="n">fromValue</span><span class="p">(</span><span class="n">value</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="o">/**</span>
+ <span class="o">*</span> <span class="n">Sets</span> <span class="n">the</span> <span class="n">AuthorizationType</span> <span class="p">(</span><span class="n">AD_TYPE</span><span class="p">)</span> <span class="n">field</span>
+ <span class="o">*</span> <span class="p">@</span><span class="n">param</span> <span class="n">authzType</span> <span class="n">The</span> <span class="n">AuthorizationType</span> <span class="n">to</span> <span class="n">set</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">void</span> <span class="n">setAuthzType</span><span class="p">(</span><span class="n">AuthorizationType</span> <span class="n">authzType</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAsInt</span><span class="p">(</span><span class="n">AuthorizationDataEntryField</span><span class="p">.</span><span class="n">AD_TYPE</span><span class="p">,</span> <span class="n">authzType</span><span class="p">.</span><span class="n">getValue</span><span class="p">());</span>
+<span class="p">}</span>
+
+<span class="o">/**</span>
+ <span class="o">*</span> <span class="p">@</span><span class="k">return</span> <span class="n">The</span> <span class="n">AuthorizationType</span> <span class="p">(</span><span class="n">AD_DATA</span><span class="p">)</span> <span class="n">field</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">byte</span><span class="p">[]</span> <span class="n">getAuthzData</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAsOctets</span><span class="p">(</span><span class="n">AuthorizationDataEntryField</span><span class="p">.</span><span class="n">AD_DATA</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="o">/**</span>
+ <span class="o">*</span> <span class="n">Sets</span> <span class="n">the</span> <span class="n">AuthorizationData</span> <span class="p">(</span><span class="n">AD_DATA</span><span class="p">)</span> <span class="n">field</span>
+ <span class="o">*</span> <span class="p">@</span><span class="n">param</span> <span class="n">authzData</span> <span class="n">The</span> <span class="n">AuthorizationData</span> <span class="n">to</span> <span class="n">set</span>
+ <span class="o">*/</span>
+<span class="n">public</span> <span class="n">void</span> <span class="n">setAuthzData</span><span class="p">(</span><span class="n">byte</span><span class="p">[]</span> <span class="n">authzData</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAsOctets</span><span class="p">(</span><span class="n">AuthorizationDataEntryField</span><span class="p">.</span><span class="n">AD_DATA</span><span class="p">,</span> <span class="n">authzData</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>}
+```</p>
+<p>And then define AuthorizationData simply
+```java
+public class AuthorizationData extends KrbSequenceOfType<AuthorizationDataEntry> {</p>
+<p>}
+```</p>
+<p>Then you can process with above definitions, encode and decode, without caring about the details.</p>
+<p>Think about how to implement the following more complex and pratical sample from <a href="http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf">ITU-T Rec. X.680 ISO/IEC 8824-1</a>:
+```
+A.1 ASN.1 description of the record structure
+The structure of the hypothetical personnel record is formally described below using ASN.1 specified in
+ITU-T Rec. X.680 | ISO/IEC 8824-1 for defining types.</p>
+<p>PersonnelRecord ::= [APPLICATION 0] IMPLICIT SET {
+ Name Name,
+ title [0] VisibleString,
+ number EmployeeNumber,
+ dateOfHire [1] Date,
+ nameOfSpouse [2] Name,
+ children [3] IMPLICIT
+ SEQUENCE OF ChildInformation DEFAULT {}
+}</p>
+<p>ChildInformation ::= SET {
+ name Name,
+ dateOfBirth [0] Date
+}</p>
+<p>Name ::= [APPLICATION 1] IMPLICIT SEQUENCE {
+ givenName VisibleString,
+ initial VisibleString,
+ familyName VisibleString
+}</p>
+<p>EmployeeNumber ::= [APPLICATION 2] IMPLICIT INTEGER
+Date ::= [APPLICATION 3] IMPLICIT VisibleString -- YYYYMMDD
+<code>Similarly as above, we can have (from the unit test codes):</code>java
+public class PersonnelRecord extends Asn1TaggingSet {
+ protected enum PersonnelRecordField implements EnumType {
+ NAME,
+ TITLE,
+ NUMBER,
+ DATE_OF_HIRE,
+ NAME_OF_SPOUSE,
+ CHILDREN;</p>
+<div class="codehilite"><pre> <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">int</span> <span class="n">getValue</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">ordinal</span><span class="p">();</span>
+ <span class="p">}</span>
+
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">name</span><span class="p">();</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="n">static</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="n">fieldInfos</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="p">{</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NAME</span><span class="p">,</span> <span class="o">-</span>1<span class="p">,</span> <span class="n">Name</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">TITLE</span><span class="p">,</span> 0<span class="p">,</span> <span class="n">Asn1VisibleString</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="o">-</span>1<span class="p">,</span> <span class="n">EmployeeNumber</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">DATE_OF_HIRE</span><span class="p">,</span> 1<span class="p">,</span> <span class="n">Date</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NAME_OF_SPOUSE</span><span class="p">,</span> 2<span class="p">,</span> <span class="n">Name</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ImplicitField</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">CHILDREN</span><span class="p">,</span> 3<span class="p">,</span> <span class="n">Children</span><span class="p">.</span><span class="n">class</span><span class="p">)</span>
+<span class="p">};</span>
+
+<span class="n">public</span> <span class="n">PersonnelRecord</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span>0<span class="p">,</span> <span class="n">fieldInfos</span><span class="p">,</span> <span class="n">true</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">void</span> <span class="n">setName</span><span class="p">(</span><span class="n">Name</span> <span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NAME</span><span class="p">,</span> <span class="n">name</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">Name</span> <span class="n">getName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NAME</span><span class="p">,</span> <span class="n">Name</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">void</span> <span class="n">setTitle</span><span class="p">(</span><span class="n">String</span> <span class="n">title</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">TITLE</span><span class="p">,</span> <span class="n">new</span> <span class="n">Asn1VisibleString</span><span class="p">(</span><span class="n">title</span><span class="p">));</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">String</span> <span class="n">getTitle</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAsString</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">TITLE</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">void</span> <span class="n">setEmployeeNumber</span><span class="p">(</span><span class="n">EmployeeNumber</span> <span class="n">employeeNumber</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">employeeNumber</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">EmployeeNumber</span> <span class="n">getEmployeeNumber</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NUMBER</span><span class="p">,</span> <span class="n">EmployeeNumber</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">void</span> <span class="n">setDateOfHire</span><span class="p">(</span><span class="n">Date</span> <span class="n">dateOfHire</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">DATE_OF_HIRE</span><span class="p">,</span> <span class="n">dateOfHire</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">Date</span> <span class="n">getDateOfHire</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">DATE_OF_HIRE</span><span class="p">,</span> <span class="n">Date</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">void</span> <span class="n">setNameOfSpouse</span><span class="p">(</span><span class="n">Name</span> <span class="n">spouse</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NAME_OF_SPOUSE</span><span class="p">,</span> <span class="n">spouse</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">Name</span> <span class="n">getNameOfSpouse</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">NAME_OF_SPOUSE</span><span class="p">,</span> <span class="n">Name</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">void</span> <span class="n">setChildren</span><span class="p">(</span><span class="n">Children</span> <span class="n">children</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">CHILDREN</span><span class="p">,</span> <span class="n">children</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">Children</span> <span class="n">getChildren</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">PersonnelRecordField</span><span class="p">.</span><span class="n">CHILDREN</span><span class="p">,</span> <span class="n">Children</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">static</span> <span class="n">class</span> <span class="n">Children</span> <span class="n">extends</span> <span class="n">Asn1SequenceOf</span><span class="o"><</span><span class="n">ChildInformation</span><span class="o">></span> <span class="p">{</span>
+ <span class="n">public</span> <span class="n">Children</span><span class="p">(</span><span class="n">ChildInformation</span> <span class="p">...</span> <span class="n">children</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">();</span>
+ <span class="k">for</span> <span class="p">(</span><span class="n">ChildInformation</span> <span class="n">child</span> <span class="p">:</span> <span class="n">children</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">addElement</span><span class="p">(</span><span class="n">child</span><span class="p">);</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">Children</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">();</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">static</span> <span class="n">class</span> <span class="n">ChildInformation</span> <span class="n">extends</span> <span class="n">Asn1SetType</span> <span class="p">{</span>
+ <span class="n">protected</span> <span class="n">enum</span> <span class="n">ChildInformationField</span> <span class="n">implements</span> <span class="n">EnumType</span> <span class="p">{</span>
+ <span class="n">CHILD_NAME</span><span class="p">,</span>
+ <span class="n">DATE_OF_BIRTH</span><span class="p">;</span>
+
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">int</span> <span class="n">getValue</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">ordinal</span><span class="p">();</span>
+ <span class="p">}</span>
+
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">name</span><span class="p">();</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="n">static</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="n">tags</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="p">{</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">ChildInformationField</span><span class="p">.</span><span class="n">CHILD_NAME</span><span class="p">,</span> <span class="o">-</span>1<span class="p">,</span> <span class="n">Name</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">ChildInformationField</span><span class="p">.</span><span class="n">DATE_OF_BIRTH</span><span class="p">,</span> 0<span class="p">,</span> <span class="n">Date</span><span class="p">.</span><span class="n">class</span><span class="p">)</span>
+ <span class="p">};</span>
+
+ <span class="n">public</span> <span class="n">ChildInformation</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span><span class="n">tags</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">void</span> <span class="n">setName</span><span class="p">(</span><span class="n">Name</span> <span class="n">name</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">ChildInformationField</span><span class="p">.</span><span class="n">CHILD_NAME</span><span class="p">,</span> <span class="n">name</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">Name</span> <span class="n">getName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">ChildInformationField</span><span class="p">.</span><span class="n">CHILD_NAME</span><span class="p">,</span> <span class="n">Name</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">void</span> <span class="n">setDateOfBirth</span><span class="p">(</span><span class="n">Date</span> <span class="n">date</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">ChildInformationField</span><span class="p">.</span><span class="n">DATE_OF_BIRTH</span><span class="p">,</span> <span class="n">date</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">Date</span> <span class="n">getDateOfBirth</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAs</span><span class="p">(</span><span class="n">ChildInformationField</span><span class="p">.</span><span class="n">DATE_OF_BIRTH</span><span class="p">,</span> <span class="n">Date</span><span class="p">.</span><span class="n">class</span><span class="p">);</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">static</span> <span class="n">class</span> <span class="n">Name</span> <span class="n">extends</span> <span class="n">Asn1TaggingSequence</span> <span class="p">{</span>
+
+ <span class="n">protected</span> <span class="n">enum</span> <span class="n">NameField</span> <span class="n">implements</span> <span class="n">EnumType</span> <span class="p">{</span>
+ <span class="n">GIVENNAME</span><span class="p">,</span>
+ <span class="n">INITIAL</span><span class="p">,</span>
+ <span class="n">FAMILYNAME</span><span class="p">;</span>
+
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">int</span> <span class="n">getValue</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">ordinal</span><span class="p">();</span>
+ <span class="p">}</span>
+
+ <span class="p">@</span><span class="n">Override</span>
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">name</span><span class="p">();</span>
+ <span class="p">}</span>
+ <span class="p">}</span>
+
+ <span class="n">static</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="n">tags</span> <span class="p">=</span> <span class="n">new</span> <span class="n">Asn1FieldInfo</span><span class="p">[]</span> <span class="p">{</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">GIVENNAME</span><span class="p">,</span> <span class="o">-</span>1<span class="p">,</span> <span class="n">Asn1VisibleString</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">INITIAL</span><span class="p">,</span> <span class="o">-</span>1<span class="p">,</span> <span class="n">Asn1VisibleString</span><span class="p">.</span><span class="n">class</span><span class="p">),</span>
+ <span class="n">new</span> <span class="n">ExplicitField</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">FAMILYNAME</span><span class="p">,</span> <span class="o">-</span>1<span class="p">,</span> <span class="n">Asn1VisibleString</span><span class="p">.</span><span class="n">class</span><span class="p">)</span>
+ <span class="p">};</span>
+
+ <span class="n">public</span> <span class="n">Name</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span>1<span class="p">,</span> <span class="n">tags</span><span class="p">,</span> <span class="n">true</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">Name</span><span class="p">(</span><span class="n">String</span> <span class="n">givenName</span><span class="p">,</span> <span class="n">String</span> <span class="n">initial</span><span class="p">,</span> <span class="n">String</span> <span class="n">familyName</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">this</span><span class="p">();</span>
+ <span class="n">setGivenName</span><span class="p">(</span><span class="n">givenName</span><span class="p">);</span>
+ <span class="n">setInitial</span><span class="p">(</span><span class="n">initial</span><span class="p">);</span>
+ <span class="n">setFamilyName</span><span class="p">(</span><span class="n">familyName</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">void</span> <span class="n">setGivenName</span><span class="p">(</span><span class="n">String</span> <span class="n">givenName</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">GIVENNAME</span><span class="p">,</span> <span class="n">new</span> <span class="n">Asn1VisibleString</span><span class="p">(</span><span class="n">givenName</span><span class="p">));</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getGivenName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAsString</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">GIVENNAME</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">void</span> <span class="n">setInitial</span><span class="p">(</span><span class="n">String</span> <span class="n">initial</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">INITIAL</span><span class="p">,</span> <span class="n">new</span> <span class="n">Asn1VisibleString</span><span class="p">(</span><span class="n">initial</span><span class="p">));</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getInitial</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAsString</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">INITIAL</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">void</span> <span class="n">setFamilyName</span><span class="p">(</span><span class="n">String</span> <span class="n">familyName</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">setFieldAs</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">FAMILYNAME</span><span class="p">,</span> <span class="n">new</span> <span class="n">Asn1VisibleString</span><span class="p">(</span><span class="n">familyName</span><span class="p">));</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">String</span> <span class="n">getFamilyName</span><span class="p">()</span> <span class="p">{</span>
+ <span class="k">return</span> <span class="n">getFieldAsString</span><span class="p">(</span><span class="n">NameField</span><span class="p">.</span><span class="n">FAMILYNAME</span><span class="p">);</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">static</span> <span class="n">class</span> <span class="n">EmployeeNumber</span> <span class="n">extends</span> <span class="n">Asn1Tagging</span><span class="o"><</span><span class="n">Asn1Integer</span><span class="o">></span> <span class="p">{</span>
+ <span class="n">public</span> <span class="n">EmployeeNumber</span><span class="p">(</span><span class="n">Integer</span> <span class="n">value</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span>2<span class="p">,</span> <span class="n">new</span> <span class="n">Asn1Integer</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">true</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
+ <span class="p">}</span>
+
+ <span class="n">public</span> <span class="n">EmployeeNumber</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span>2<span class="p">,</span> <span class="n">new</span> <span class="n">Asn1Integer</span><span class="p">(),</span> <span class="n">true</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+
+<span class="n">public</span> <span class="n">static</span> <span class="n">class</span> <span class="n">Date</span> <span class="n">extends</span> <span class="n">Asn1Tagging</span><span class="o"><</span><span class="n">Asn1VisibleString</span><span class="o">></span> <span class="p">{</span>
+ <span class="n">public</span> <span class="n">Date</span><span class="p">(</span><span class="n">String</span> <span class="n">value</span><span class="p">)</span> <span class="p">{</span>
+ <span class="n">super</span><span class="p">(</span>3<span class="p">,</span> <span class="n">new</span> <span class="n">Asn1VisibleString</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">true</span><span class="p">,</span> <span class="n">true</span><span class="p">);</span>
+ <span class="p">}</span>
+ <span class="n">public</span> <span class="n">Date</span><span class="p">()</span> <span class="p">{</span>
+ <span class="n">this</span><span class="p">(</span><span class="n">null</span><span class="p">);</span>
+ <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+
+
+<p>}
+```</p>
+<h3 id="asn1-api-and-parsingdumping-facilities">Asn1 API and parsing/dumping facilities<a class="headerlink" href="#asn1-api-and-parsingdumping-facilities" title="Permanent link">¶</a></h3>
+<ul>
+<li>ASN1 dumping tool to help analyze ASN1 encoding stream or packet. It can be used to exercise the framework with all kinds of testing binary inputs.</li>
+<li>The shortcut API for ASN1 parser, encoding, decoding.</li>
+</ul>
+<h3 id="notes">Notes<a class="headerlink" href="#notes" title="Permanent link">¶</a></h3>
+<ul>
+<li>Extensive tests coverage for BER & DER encoding and decoding</li>
+<li>Fully self-contained, no extra dependency</li>
+</ul>
+<h3 id="license">License<a class="headerlink" href="#license" title="Permanent link">¶</a></h3>
+<p>Apache V2 License</p>
+
+
+
+ </div><!-- rightColumn -->
+ <div id="endContent"></div>
+ </div><!-- content -->
+ <div id="footer">© 2003-2015, <a href="http://www.apache.org">The Apache Software Foundation</a> - <a href="./../privacy-policy.html">Privacy Policy</a><br />
+ Apache Directory, ApacheDS, Apache Directory Server, Apache Directory Studio, Apache LDAP API, Apache Triplesec, Triplesec, Apache Mavibot, Mavibot, Apache eSCIMo, eSCIMo, Fortress, Apache Fortress, EnMasse, Apache EnMasse, Apache Kerby, Kerby
+ Apache, the Apache feather logo, and the Apache Directory project logos are trademarks of The Apache Software Foundation.
+ </div>
+ </div><!-- container -->
+ </body>
+</html>
Modified: websites/staging/directory/trunk/content/kerby/news.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/news.html (original)
+++ websites/staging/directory/trunk/content/kerby/news.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/overview.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/overview.html (original)
+++ websites/staging/directory/trunk/content/kerby/overview.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
@@ -164,7 +165,13 @@ h2:hover > .headerlink, h3:hover > .head
<h2 id="table-of-contents">Table of contents<a class="headerlink" href="#table-of-contents" title="Permanent link">¶</a></h2>
<ul>
<li><a href="user-guide/1-how-to-begin.html">1 - How to begin</a></li>
-<li><a href="user-guide/2-kerberos-library.html">2 - APIs</a></li>
+<li><a href="user-guide/2-kerberos-library.html">2 - APIs</a><ul>
+<li><a href="user-guide/2.1-krbclient-apis.html">2.1 - KrbClient APIs</a></li>
+<li><a href="user-guide/2.2-kadmin.html">2.2 - Kadmin</a></li>
+<li><a href="user-guide/2.3-kdcserver.html">2.3 - KdcServer</a></li>
+<li><a href="user-guide/2.4-simplekdcserver.html">2.4 - SimpleKdcServer</a></li>
+</ul>
+</li>
<li><a href="user-guide/3-tools.html">3 - Tools</a><ul>
<li><a href="user-guide/3.1-kdcinit.html">3.1 - kdcinit</a></li>
<li><a href="user-guide/3.2-kadmin.html">3.2 - kadmin</a></li>
Modified: websites/staging/directory/trunk/content/kerby/user-guide/1-how-to-begin.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/1-how-to-begin.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/1-how-to-begin.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/2-kerberos-library.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/2-kerberos-library.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/2-kerberos-library.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
@@ -160,7 +161,7 @@
</div>
<div class="nav_next">
- <a href="3-tools.html">3 - tools</a>
+ <a href="2.1-krbclient-apis.html">2.1 - KrbClient APIs</a>
</div>
<div class="clearfix"></div>
@@ -180,6 +181,13 @@
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="2-kerberos-library">2 - Kerberos library<a class="headerlink" href="#2-kerberos-library" title="Permanent link">¶</a></h1>
<p>Kerby provides the KrbClient API, Kadmin API, Kerberos Server API and the simplified kdc server APIs.</p>
+<h2 id="table-of-content">Table of content<a class="headerlink" href="#table-of-content" title="Permanent link">¶</a></h2>
+<ul>
+<li><a href="2.1-krbclient-apis.html">2.1 - KrbClient API</a></li>
+<li><a href="2.2-kadmin.html">2.2 - Kadmin</a></li>
+<li><a href="2.3-kdcserver.html">2.3 - KdcServer</a></li>
+<li><a href="2.4-simplekdcserver.html">2.4 - SimpleKdcServer</a></li>
+</ul>
<p>Please look at <a href="https://github.com/apache/directory-kerby">github</a> for details.</p>
@@ -196,7 +204,7 @@ h2:hover > .headerlink, h3:hover > .head
</div>
<div class="nav_next">
- <a href="3-tools.html">3 - tools</a>
+ <a href="2.1-krbclient-apis.html">2.1 - KrbClient APIs</a>
</div>
<div class="clearfix"></div>
Modified: websites/staging/directory/trunk/content/kerby/user-guide/2.1-krbclient-apis.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/2.1-krbclient-apis.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/2.1-krbclient-apis.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/2.2-kadmin.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/2.2-kadmin.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/2.2-kadmin.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
@@ -184,15 +185,20 @@ h2:hover > .headerlink, h3:hover > .head
<h1 id="22-kadmin">2.2 - Kadmin<a class="headerlink" href="#22-kadmin" title="Permanent link">¶</a></h1>
<p>Server side admin facilities.</p>
-<h3 id="initiate-a-kadmin">Initiate a Kadmin<a class="headerlink" href="#initiate-a-kadmin" title="Permanent link">¶</a></h3>
+<h2 id="local-mode">Local mode<a class="headerlink" href="#local-mode" title="Permanent link">¶</a></h2>
+<h3 id="initiate-a-localkadminimpl">Initiate a LocalKadminImpl<a class="headerlink" href="#initiate-a-localkadminimpl" title="Permanent link">¶</a></h3>
<ul>
-<li>Initiate a Kadmin with confDir.
+<li>Initiate a LocalKadminImpl with prepared KdcConfig and BackendConfig.
<pre>
-Kadmin kadmin = new Kadmin(confDir);
+LocalKadmin kadmin = new LocalKadminImpl(kdcConfig, backendConfig);
</pre></li>
-<li>Initiate a Kadmin with kdcSetting and backend.
+<li>Initiate a LocalKadmin with confDir.
<pre>
-Kadmin kadmin = new Kadmin(kdcSetting, backend);
+LocalKadmin kadmin = new LocalKadminImpl(confDir);
+</pre></li>
+<li>Initiate a LocalKadmin with kdcSetting and backend.
+<pre>
+LocalKadmin kadmin = new LocalKadminImpl(kdcSetting, backend);
</pre></li>
</ul>
<h3 id="principal-operating">Principal operating<a class="headerlink" href="#principal-operating" title="Permanent link">¶</a></h3>
Modified: websites/staging/directory/trunk/content/kerby/user-guide/2.3-kdcserver.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/2.3-kdcserver.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/2.3-kdcserver.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
@@ -232,7 +233,7 @@ setInnerKdcImpl(innerKdcImpl);
</ul>
<h3 id="stop-kdc-server">Stop kdc server<a class="headerlink" href="#stop-kdc-server" title="Permanent link">¶</a></h3>
<ul>
-<li>Stop kdc server.
+<li>Start kdc server.
<pre>
stop();
</pre></li>
Modified: websites/staging/directory/trunk/content/kerby/user-guide/2.4-simplekdcserver.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/2.4-simplekdcserver.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/2.4-simplekdcserver.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
@@ -184,68 +185,67 @@ h2:hover > .headerlink, h3:hover > .head
<h1 id="24-simplekdcserver">2.4 - SimpleKdcServer<a class="headerlink" href="#24-simplekdcserver" title="Permanent link">¶</a></h1>
<p>A simplified Kdc server. It can be imported by other project to work as a kdc server.</p>
-<h2 id="kdc-server">Kdc server<a class="headerlink" href="#kdc-server" title="Permanent link">¶</a></h2>
-<ul>
-<li>Start simple kdc server.
+<h3 id="kdc-server">Kdc server<a class="headerlink" href="#kdc-server" title="Permanent link">¶</a></h3>
+<p></pre>
+<em> Start simple kdc server.
<pre>
start();
-</pre></li>
-<li>Set KDC realm for ticket request
+</pre>
+</em> Set KDC realm for ticket request
<pre>
setKdcRealm(realm);
-</pre></li>
-<li>Set KDC host.
+</pre>
+<em> Set KDC host.
<pre>
setKdcHost(kdcHost);
-</pre></li>
-<li>Set KDC tcp port.
+</pre>
+</em> Set KDC tcp port.
<pre>
setKdcTcpPort(kdcTcpPort);
-</pre></li>
-<li>Set KDC udp port. Only makes sense when allowUdp is set.
+</pre>
+<em> Set KDC udp port. Only makes sense when allowUdp is set.
<pre>
setKdcUdpPort(kdcUdpPort);
-</pre></li>
-<li>Set to allow TCP or not.
+</pre>
+</em> Set to allow TCP or not.
<pre>
setAllowTcp(allowTcp);
-</pre></li>
-<li>Set to allow UDP or not.
+</pre>
+* Set to allow UDP or not.
<pre>
-setAllowUdp(allowUdp);
-</pre></li>
-</ul>
-<h2 id="kadmin">Kadmin<a class="headerlink" href="#kadmin" title="Permanent link">¶</a></h2>
-<ul>
-<li>Create principle with principal name.
+setAllowUdp(allowUdp);</p>
+<h3 id="kadmin">Kadmin<a class="headerlink" href="#kadmin" title="Permanent link">¶</a></h3>
+<p></pre>
+<em> Create principle with principal name.
<pre>
createPrincipal(principal);
-</pre></li>
-<li>Add principle with principal name and password.
+</pre>
+</em> Add principle with principal name and password.
<pre>
createPrincipal(principal, password);
-</pre></li>
-<li>Create principles with principal names.
+</pre>
+<em> Create principles with principal names.
<pre>
createPrincipals(principals);
-</pre></li>
-<li>Creates principals and export their keys to the specified keytab file.
+</pre>
+</em> Creates principals and export their keys to the specified keytab file.
<pre>
createAndExportPrincipals(keytabFile principals);
-</pre></li>
-<li>Delete principle with principal name.
+</pre>
+<em> Delete principle with principal name.
<pre>
deletePrincipal(principal);
-</pre></li>
-<li>Delete principles with principal names.
+</pre>
+</pre>
+</em> Delete principles with principal names.
<pre>
deletePrincipals(principals);
-</pre></li>
-<li>Export principles to keytab file.
+</pre>
+</pre>
+* Export principles to keytab file.
<pre>
exportPrincipals(keytabFile);
-</pre></li>
-</ul>
+</pre></p>
<div class="nav">
Modified: websites/staging/directory/trunk/content/kerby/user-guide/3-tools.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/3-tools.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/3-tools.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/3.1-kdcinit.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/3.1-kdcinit.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/3.1-kdcinit.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/3.2-kadmin.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/3.2-kadmin.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/3.2-kadmin.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/3.3-kinit.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/3.3-kinit.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/3.3-kinit.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/3.4-klist.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/3.4-klist.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/3.4-klist.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/4-identity-backend.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/4-identity-backend.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/4-identity-backend.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/5-crypto-and-encryption-types.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/5-crypto-and-encryption-types.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/5-crypto-and-encryption-types.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/6-network-support.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/6-network-support.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/6-network-support.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/user-guide/7-dependency.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/user-guide/7-dependency.html (original)
+++ websites/staging/directory/trunk/content/kerby/user-guide/7-dependency.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../../kerby/overview.html">Overview</a></li>
<!--li><a href="./../../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->
Modified: websites/staging/directory/trunk/content/kerby/vision.html
==============================================================================
--- websites/staging/directory/trunk/content/kerby/vision.html (original)
+++ websites/staging/directory/trunk/content/kerby/vision.html Wed Jan 27 01:50:45 2016
@@ -110,6 +110,7 @@
<ul>
<li><a href="./../kerby/overview.html">Overview</a></li>
<!--li><a href="./../kerby/quick-start.html">Quick Start</a></li-->
+ <li><a href="./../kerby/kerby-asn1.html">Kerby ASN1</a></li>
<li><a href="./../kerby/user-guide.html">User Guide</a></li>
<!--li><a href="./../kerby/gen-docs/latest/apidocs/">JavaDocs</a></li-->
<!--li><a href="./../kerby/gen-docs/latest/xref/">Cross-Reference</a></li-->