You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dr...@apache.org on 2015/11/29 01:57:37 UTC

[10/13] directory-kerby git commit: Synced with latest master branch

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/Authenticator.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/Authenticator.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/Authenticator.java
deleted file mode 100644
index f40e031..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/Authenticator.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.ap;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KerberosString;
-import org.apache.kerby.kerberos.kerb.spec.KerberosTime;
-import org.apache.kerby.kerberos.kerb.spec.KrbAppSequenceType;
-import org.apache.kerby.kerberos.kerb.spec.ad.AuthorizationData;
-import org.apache.kerby.kerberos.kerb.spec.base.CheckSum;
-import org.apache.kerby.kerberos.kerb.spec.base.EncryptionKey;
-import org.apache.kerby.kerberos.kerb.spec.base.PrincipalName;
-
-/**
- Authenticator   ::= [APPLICATION 2] SEQUENCE  {
- authenticator-vno       [0] INTEGER (5),
- crealm                  [1] Realm,
- cname                   [2] PrincipalName,
- cksum                   [3] Checksum OPTIONAL,
- cusec                   [4] Microseconds,
- ctime                   [5] KerberosTime,
- subkey                  [6] EncryptionKey OPTIONAL,
- seq-number              [7] UInt32 OPTIONAL,
- authorization-data      [8] AuthorizationData OPTIONAL
- }
- */
-public class Authenticator extends KrbAppSequenceType {
-    public static final int TAG = 2;
-    private static final int AUTHENTICATOR_VNO = 0;
-    private static final int CREALM = 1;
-    private static final int CNAME = 2;
-    private static final int CKSUM = 3;
-    private static final int CUSEC = 4;
-    private static final int CTIME = 5;
-    private static final int SUBKEY = 6;
-    private static final int SEQ_NUMBER = 7;
-    private static final int AUTHORIZATION_DATA = 8;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(AUTHENTICATOR_VNO, 0, Asn1Integer.class),
-            new ExplicitField(CREALM, 1, KerberosString.class),
-            new ExplicitField(CNAME, 2, PrincipalName.class),
-            new ExplicitField(CKSUM, 3, CheckSum.class),
-            new ExplicitField(CUSEC, 4, Asn1Integer.class),
-            new ExplicitField(CTIME, 5, KerberosTime.class),
-            new ExplicitField(SUBKEY, 6, EncryptionKey.class),
-            new ExplicitField(SEQ_NUMBER, 7, Asn1Integer.class),
-            new ExplicitField(AUTHORIZATION_DATA, 8, AuthorizationData.class)
-    };
-
-    public Authenticator() {
-        super(TAG, fieldInfos);
-    }
-
-    public int getAuthenticatorVno() {
-        return getFieldAsInt(AUTHENTICATOR_VNO);
-    }
-
-    public void setAuthenticatorVno(int authenticatorVno) {
-        setFieldAsInt(AUTHENTICATOR_VNO, authenticatorVno);
-    }
-
-    public String getCrealm() {
-        return getFieldAsString(CREALM);
-    }
-
-    public void setCrealm(String crealm) {
-        setFieldAsString(CREALM, crealm);
-    }
-
-    public PrincipalName getCname() {
-        return getFieldAs(CNAME, PrincipalName.class);
-    }
-
-    public void setCname(PrincipalName cname) {
-        setFieldAs(CNAME, cname);
-    }
-
-    public CheckSum getCksum() {
-        return getFieldAs(CKSUM, CheckSum.class);
-    }
-
-    public void setCksum(CheckSum cksum) {
-        setFieldAs(CKSUM, cksum);
-    }
-
-    public int getCusec() {
-        return getFieldAsInt(CUSEC);
-    }
-
-    public void setCusec(int cusec) {
-        setFieldAsInt(CUSEC, cusec);
-    }
-
-    public KerberosTime getCtime() {
-        return getFieldAsTime(CTIME);
-    }
-
-    public void setCtime(KerberosTime ctime) {
-        setFieldAs(CTIME, ctime);
-    }
-
-    public EncryptionKey getSubKey() {
-        return getFieldAs(SUBKEY, EncryptionKey.class);
-    }
-
-    public void setSubKey(EncryptionKey subKey) {
-        setFieldAs(SUBKEY, subKey);
-    }
-
-    public int getSeqNumber() {
-        return getFieldAsInt(SEQ_NUMBER);
-    }
-
-    public void setSeqNumber(Integer seqNumber) {
-        setFieldAsInt(SEQ_NUMBER, seqNumber);
-    }
-
-    public AuthorizationData getAuthorizationData() {
-        return getFieldAs(AUTHORIZATION_DATA, AuthorizationData.class);
-    }
-
-    public void setAuthorizationData(AuthorizationData authorizationData) {
-        setFieldAs(AUTHORIZATION_DATA, authorizationData);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/EncAPRepPart.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/EncAPRepPart.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/EncAPRepPart.java
deleted file mode 100644
index 5b6826d..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/ap/EncAPRepPart.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.ap;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KerberosTime;
-import org.apache.kerby.kerberos.kerb.spec.KrbAppSequenceType;
-import org.apache.kerby.kerberos.kerb.spec.base.EncryptionKey;
-
-/**
- EncAPRepPart    ::= [APPLICATION 27] SEQUENCE {
- ctime           [0] KerberosTime,
- cusec           [1] Microseconds,
- subkey          [2] EncryptionKey OPTIONAL,
- seq-number      [3] UInt32 OPTIONAL
- }
- */
-public class EncAPRepPart extends KrbAppSequenceType {
-    public static final int TAG = 27;
-    private static final int CTIME = 0;
-    private static final int CUSEC = 1;
-    private static final int SUBKEY = 2;
-    private static final int SEQ_NUMBER = 3;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(CTIME, 0, KerberosTime.class),
-            new ExplicitField(CUSEC, 1, Asn1Integer.class),
-            new ExplicitField(SUBKEY, 2, EncryptionKey.class),
-            new ExplicitField(SEQ_NUMBER, 3, Asn1Integer.class)
-    };
-
-    public EncAPRepPart() {
-        super(TAG, fieldInfos);
-    }
-
-    public KerberosTime getCtime() {
-        return getFieldAsTime(CTIME);
-    }
-
-    public void setCtime(KerberosTime ctime) {
-        setFieldAs(CTIME, ctime);
-    }
-
-    public int getCusec() {
-        return getFieldAsInt(CUSEC);
-    }
-
-    public void setCusec(int cusec) {
-        setFieldAsInt(CUSEC, cusec);
-    }
-
-    public EncryptionKey getSubkey() {
-        return getFieldAs(SUBKEY, EncryptionKey.class);
-    }
-
-    public void setSubkey(EncryptionKey subkey) {
-        setFieldAs(SUBKEY, subkey);
-    }
-
-    public int getSeqNumber() {
-        return getFieldAsInt(SEQ_NUMBER);
-    }
-
-    public void setSeqNumber(Integer seqNumber) {
-        setFieldAsInt(SEQ_NUMBER, seqNumber);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/AuthToken.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/AuthToken.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/AuthToken.java
deleted file mode 100644
index e13fe6c..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/AuthToken.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/**
- *  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. 
- *
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This is the token definition API according to TokenPreauth draft.
- */
-public interface AuthToken {
-
-    /**
-     * Get the token subject
-     * @return token subject
-     */
-    String getSubject();
-
-    /**
-     * Set token subject
-     * @param sub The token subject
-     */
-    void setSubject(String sub);
-
-    /**
-     * Get the token issuer
-     * @return token issuer
-     */
-    String getIssuer();
-
-    /**
-     * Set token issuer
-     * @param issuer The token issuer
-     */
-    void setIssuer(String issuer);
-
-    /**
-     * Get token audiences
-     * @return token audiences
-     */
-    List<String> getAudiences();
-
-    /**
-     * Set token audiences
-     * @param audiences The token audiences
-     */
-    void setAudiences(List<String> audiences);
-
-    /**
-     * Is an Identity Token ?
-     * @return true if it's an identity token, false otherwise
-     */
-    boolean isIdToken();
-
-    void isIdToken(boolean isIdToken);
-
-    /**
-     * Is an Access Token ?
-     * @return true if it's an access token, false otherwise
-     */
-    boolean isAcToken();
-
-    void isAcToken(boolean isAcToken);
-
-    /**
-     * Is a Bearer Token ?
-     * @return true if it's an bearer token, false otherwise
-     */
-    boolean isBearerToken();
-
-    /**
-     * Is an Holder-of-Key Token (HOK) ?
-     * @return true if it's a HOK token, false otherwise
-     */
-    boolean isHolderOfKeyToken();
-
-    /**
-     * Get token expired data time.
-     * @return expired time
-     */
-    Date getExpiredTime();
-
-    /**
-     * Set token expired time
-     * @param exp The token expired time
-     */
-    void setExpirationTime(Date exp);
-
-    /**
-     * Get token not before time.
-     * @return not before time
-     */
-    Date getNotBeforeTime();
-
-    /**
-     * Set token not before time.
-     * @param nbt The time
-     */
-    void setNotBeforeTime(Date nbt);
-
-    /**
-     * Get token issued at time when the token is issued.
-     * @return issued at time
-     */
-    Date getIssueTime();
-
-    /**
-     * Set token issued at time.
-     * @param iat Time time when token issued
-     */
-    void setIssueTime(Date iat);
-
-    /**
-     * Get token attributes.
-     * @return token attributes
-     */
-    Map<String, Object> getAttributes();
-
-    /**
-     * Add a token attribute.
-     * @param name The attribute name
-     * @param value The attribute value
-     */
-    void addAttribute(String name, Object value);
-
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSum.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSum.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSum.java
deleted file mode 100644
index ce975a8..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSum.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-import java.util.Arrays;
-
-/**
- Checksum        ::= SEQUENCE {
- cksumtype       [0] Int32,
- checksum        [1] OCTET STRING
- }
- */
-public class CheckSum extends KrbSequenceType {
-    private static final int CKSUM_TYPE = 0;
-    private static final int CHECK_SUM = 1;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-        new ExplicitField(CKSUM_TYPE, 0, Asn1Integer.class),
-        new ExplicitField(CHECK_SUM, 1, Asn1OctetString.class)
-    };
-
-    public CheckSum() {
-        super(fieldInfos);
-    }
-
-    public CheckSum(CheckSumType cksumType, byte[] checksum) {
-        this();
-
-        setCksumtype(cksumType);
-        setChecksum(checksum);
-    }
-
-    public CheckSum(int cksumType, byte[] checksum) {
-        this(CheckSumType.fromValue(cksumType), checksum);
-    }
-
-    public CheckSumType getCksumtype() {
-        Integer value = getFieldAsInteger(CKSUM_TYPE);
-        return CheckSumType.fromValue(value);
-    }
-
-    public void setCksumtype(CheckSumType cksumtype) {
-        setFieldAsInt(CKSUM_TYPE, cksumtype.getValue());
-    }
-
-    public byte[] getChecksum() {
-        return getFieldAsOctets(CHECK_SUM);
-    }
-
-    public void setChecksum(byte[] checksum) {
-        setFieldAsOctets(CHECK_SUM, checksum);
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (this == other) {
-            return true;
-        }
-        if (other == null || getClass() != other.getClass()) {
-            return false;
-        }
-
-        CheckSum that = (CheckSum) other;
-
-        if (getCksumtype() != that.getCksumtype()) {
-            return false;
-        }
-
-        return Arrays.equals(getChecksum(), that.getChecksum());
-    }
-    
-    @Override
-    public int hashCode() {
-        int result = 0;
-        if (getCksumtype() != null) {
-            result = 31 * result + getCksumtype().hashCode();
-        }
-        if (getChecksum() != null) {
-            result = 31 * result + Arrays.hashCode(getChecksum());
-        }
-        return result;
-    }
-
-    public boolean isEqual(CheckSum other) {
-        return this.equals(other);
-    }
-
-    public boolean isEqual(byte[] cksumBytes) {
-        return Arrays.equals(getChecksum(), cksumBytes);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSumType.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSumType.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSumType.java
deleted file mode 100644
index 8e6347a..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/CheckSumType.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1EnumType;
-
-public enum CheckSumType implements Asn1EnumType {
-    NONE(0, "none", "None checksum type"),
-
-    CRC32(0x0001, "crc32", "CRC-32"),
-
-    RSA_MD4(0x0002, "md4", "RSA-MD4"),
-
-    RSA_MD4_DES(0x0003, "md4-des", "RSA-MD4 with DES cbc mode"),
-
-    DES_CBC(0x0004, "des-cbc", "DES cbc mode"),
-    DES_MAC(0x0004, "des-mac", "DES cbc mode"),
-
-    //des-mac-k
-
-    //rsa-md4-des-k
-
-    RSA_MD5(0x0007, "md5", "RSA-MD5"),
-
-    RSA_MD5_DES(0x0008, "md5-des", "RSA-MD5 with DES cbc mode"),
-
-    NIST_SHA(0x0009, "sha", "NIST-SHA"),
-
-    HMAC_SHA1_DES3(0x000c, "hmac-sha1-des3", "HMAC-SHA1 DES3 key"),
-    HMAC_SHA1_DES3_KD(0x000c, "hmac-sha1-des3-kd", "HMAC-SHA1 DES3 key"),
-
-    ////RFC 3962. Used with ENCTYPE_AES128_CTS_HMAC_SHA1_96
-    HMAC_SHA1_96_AES128(0x000f, "hmac-sha1-96-aes128", "HMAC-SHA1 AES128 key"),
-
-    //RFC 3962. Used with ENCTYPE_AES256_CTS_HMAC_SHA1_96
-    HMAC_SHA1_96_AES256(0x0010, "hmac-sha1-96-aes256", "HMAC-SHA1 AES256 key"),
-
-    //RFC 6803
-    CMAC_CAMELLIA128(0x0011, "cmac-camellia128", "CMAC Camellia128 key"),
-
-    //RFC 6803
-    CMAC_CAMELLIA256(0x0012, "cmac-camellia256", "CMAC Camellia256 key"),
-
-    //Microsoft netlogon cksumtype
-    MD5_HMAC_ARCFOUR(-137, "md5-hmac-rc4", "Microsoft MD5 HMAC"),
-
-    //Microsoft md5 hmac cksumtype
-    HMAC_MD5_ARCFOUR(-138, "hmac-md5-arcfour", "Microsoft HMAC MD5"),
-    HMAC_MD5_ENC(-138, "hmac-md5-enc", "Microsoft HMAC MD5"),
-    HMAC_MD5_RC4(-138, "hmac-md5-rc4", "Microsoft HMAC MD5");
-
-    private final int value;
-
-    private final String name;
-
-    private final String displayName;
-
-    private CheckSumType(int value, String name, String displayName) {
-        this.value = value;
-        this.name = name;
-        this.displayName = displayName;
-    }
-
-    public static CheckSumType fromValue(Integer value) {
-        if (value != null) {
-            for (Asn1EnumType e : values()) {
-                if (e.getValue() == value) {
-                    return (CheckSumType) e;
-                }
-            }
-        }
-        return NONE;
-    }
-
-    public static CheckSumType fromName(String name) {
-        if (name != null) {
-            for (CheckSumType cs : values()) {
-                if (cs.getName().equals(name)) {
-                    return cs;
-                }
-            }
-        }
-        return NONE;
-    }
-
-    @Override
-    public int getValue() {
-        return value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    /**
-     * Is the type uses AES256 or not
-     * @return true if uses AES256, false otherwise.
-     */
-    public boolean usesAES256() {
-        return name.contains("aes256");
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptedData.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptedData.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptedData.java
deleted file mode 100644
index 4ccc5a4..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptedData.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-import java.util.Arrays;
-
-/**
- EncryptedData   ::= SEQUENCE {
- etype   [0] Int32 -- EncryptionType --,
- kvno    [1] UInt32 OPTIONAL,
- cipher  [2] OCTET STRING -- ciphertext
- }
- */
-public class EncryptedData extends KrbSequenceType {
-    private static final int ETYPE = 0;
-    private static final int KVNO = 1;
-    private static final int CIPHER = 2;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(ETYPE, 0, Asn1Integer.class),
-            new ExplicitField(KVNO, 1, Asn1Integer.class),
-            new ExplicitField(CIPHER, 2, Asn1OctetString.class)
-    };
-
-    public EncryptedData() {
-        super(fieldInfos);
-    }
-
-    public EncryptionType getEType() {
-        Integer value = getFieldAsInteger(ETYPE);
-        return EncryptionType.fromValue(value);
-    }
-
-    public void setEType(EncryptionType eType) {
-        setFieldAsInt(ETYPE, eType.getValue());
-    }
-
-    public int getKvno() {
-        Integer value = getFieldAsInteger(KVNO);
-        if (value != null) {
-            return value.intValue();
-        }
-        return -1;
-    }
-
-    public void setKvno(int kvno) {
-        setFieldAsInt(KVNO, kvno);
-    }
-
-    public byte[] getCipher() {
-        return getFieldAsOctets(CIPHER);
-    }
-
-    public void setCipher(byte[] cipher) {
-        setFieldAsOctets(CIPHER, cipher);
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-
-        EncryptedData that = (EncryptedData) o;
-
-        /*
-        if (getKvno() != -1 && that.getKvno() != -1 &&
-                getKvno() != that.getKvno()) return false;
-        */
-
-        if (getEType() != that.getEType()) {
-            return false;
-        }
-
-        return Arrays.equals(getCipher(), that.getCipher());
-    }
-    
-    @Override
-    public int hashCode() {
-        int result = 0;
-        if (getEType() != null) {
-            result = 31 * result + getEType().hashCode();
-        }
-        if (getCipher() != null) {
-            result = 31 * result + Arrays.hashCode(getCipher());
-        }
-        return result;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionKey.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionKey.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionKey.java
deleted file mode 100644
index 9c00bee..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionKey.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-import java.util.Arrays;
-
-/**
- EncryptionKey   ::= SEQUENCE {
- keytype         [0] Int32 -- actually encryption type --,
- keyvalue        [1] OCTET STRING
- }
- */
-public class EncryptionKey extends KrbSequenceType {
-    private static final int KEY_TYPE = 0;
-    private static final int KEY_VALUE = 1;
-
-    private int kvno = -1;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(KEY_TYPE, 0, Asn1Integer.class),
-            new ExplicitField(KEY_VALUE, 1, Asn1OctetString.class)
-    };
-
-    public EncryptionKey() {
-        super(fieldInfos);
-    }
-
-    public EncryptionKey(int keyType, byte[] keyData) {
-        this(keyType, keyData, -1);
-    }
-
-    public EncryptionKey(int keyType, byte[] keyData, int kvno) {
-        this(EncryptionType.fromValue(keyType), keyData, kvno);
-    }
-
-    public EncryptionKey(EncryptionType keyType, byte[] keyData) {
-        this(keyType, keyData, -1);
-    }
-
-    public EncryptionKey(EncryptionType keyType, byte[] keyData, int kvno) {
-        this();
-        setKeyType(keyType);
-        setKeyData(keyData);
-        setKvno(kvno);
-    }
-
-    public EncryptionType getKeyType() {
-        Integer value = getFieldAsInteger(KEY_TYPE);
-        return EncryptionType.fromValue(value);
-    }
-
-    public void setKeyType(EncryptionType keyType) {
-        setFieldAsInt(KEY_TYPE, keyType.getValue());
-    }
-
-    public byte[] getKeyData() {
-        return getFieldAsOctets(KEY_VALUE);
-    }
-
-    public void setKeyData(byte[] keyData) {
-        setFieldAsOctets(KEY_VALUE, keyData);
-    }
-
-    public void setKvno(int kvno) {
-        this.kvno = kvno;
-    }
-
-    public int getKvno() {
-        return kvno;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-
-        EncryptionKey that = (EncryptionKey) o;
-
-        if (kvno != -1 && that.kvno != -1 && kvno != that.kvno) {
-            return false;
-        }
-
-        if (getKeyType() != that.getKeyType()) {
-            return false;
-        }
-
-        return Arrays.equals(getKeyData(), that.getKeyData());
-    }
-    
-    @Override
-    public int hashCode() {
-        int result = kvno;
-        if (getKeyType() != null) {
-            result = 31 * result + getKeyType().hashCode();
-        }
-        if (getKeyData() != null) {
-            result = 31 * result + Arrays.hashCode(getKeyData());
-        }
-        return result;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionType.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionType.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionType.java
deleted file mode 100644
index 752ca27..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EncryptionType.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1EnumType;
-
-/**
- * According to krb5.hin
- */
-public enum EncryptionType implements Asn1EnumType {
-
-    NONE(0, "none", "None encryption type"),
-
-    DES_CBC_CRC(0x0001, "des-cbc-crc", "DES cbc mode with CRC-32"),
-
-    DES_CBC_MD4(0x0002, "des-cbc-md4", "DES cbc mode with RSA-MD4"),
-
-    DES_CBC_MD5(0x0003, "des-cbc-md5", "DES cbc mode with RSA-MD5"),
-    DES(0x0003, "des", "DES cbc mode with RSA-MD5"),
-
-    DES_CBC_RAW(0x0004, "des-cbc-raw", "DES cbc mode raw"),
-
-    DES3_CBC_SHA(0x0005, "des3-cbc-sha", "DES-3 cbc with SHA1"),
-
-    DES3_CBC_RAW(0x0006, "des3-cbc-raw", "Triple DES cbc mode raw"),
-
-    DES_HMAC_SHA1(0x0008, "des-hmac-sha1", "DES with HMAC/sha1"),
-
-    DSA_SHA1_CMS(0x0009, "dsa-sha1-cms", "DSA with SHA1, CMS signature"),
-
-    MD5_RSA_CMS(0x000a, "md5-rsa-cms", "MD5 with RSA, CMS signature"),
-
-    SHA1_RSA_CMS(0x000b, "sha1-rsa-cms", "SHA1 with RSA, CMS signature"),
-
-    RC2_CBC_ENV(0x000c, "rc2-cbc-env", "RC2 cbc mode, CMS enveloped data"),
-
-    RSA_ENV(0x000d, "rsa-env", "RSA encryption, CMS enveloped data"),
-
-    RSA_ES_OAEP_ENV(0x000e, "rsa-es-oaep-env", "RSA w/OEAP encryption, CMS enveloped data"),
-
-    DES3_CBC_ENV(0x000f, "des3-cbc-env", "DES-3 cbc mode, CMS enveloped data"),
-
-    DES3_CBC_SHA1(0x0010, "des3-cbc-sha1", "Triple DES cbc mode with HMAC/sha1"),
-    DES3_HMAC_SHA1(0x0010, "des3-hmac-sha1", "Triple DES cbc mode with HMAC/sha1"),
-    DES3_CBC_SHA1_KD(0x0010, "des3-cbc-sha1-kd", "Triple DES cbc mode with HMAC/sha1"),
-
-    AES128_CTS_HMAC_SHA1_96 (0x0011, "aes128-cts-hmac-sha1-96", "AES-128 CTS mode with 96-bit SHA-1 HMAC"),
-    AES128_CTS (0x0011, "aes128-cts", "AES-128 CTS mode with 96-bit SHA-1 HMAC"),
-
-    AES256_CTS_HMAC_SHA1_96(0x0012, "aes256-cts-hmac-sha1-96", "AES-256 CTS mode with 96-bit SHA-1 HMAC"),
-    AES256_CTS(0x0012, "aes256-cts", "AES-256 CTS mode with 96-bit SHA-1 HMAC"),
-
-    ARCFOUR_HMAC(0x0017, "arcfour-hmac", "ArcFour with HMAC/md5"),
-    RC4_HMAC(0x0017, "rc4-hmac", "ArcFour with HMAC/md5"),
-    ARCFOUR_HMAC_MD5(0x0017, "arcfour-hmac-md5", "ArcFour with HMAC/md5"),
-
-    ARCFOUR_HMAC_EXP(0x0018, "arcfour-hmac-exp", "Exportable ArcFour with HMAC/md5"),
-    RC4_HMAC_EXP(0x0018, "rc4-hmac-exp", "Exportable ArcFour with HMAC/md5"),
-    ARCFOUR_HMAC_MD5_EXP(0x0018, "arcfour-hmac-md5-exp", "Exportable ArcFour with HMAC/md5"),
-
-    CAMELLIA128_CTS_CMAC(0x0019, "camellia128-cts-cmac", "Camellia-128 CTS mode with CMAC"),
-    CAMELLIA128_CTS(0x0019, "camellia128-cts", "Camellia-128 CTS mode with CMAC"),
-
-    CAMELLIA256_CTS_CMAC(0x001a, "camellia256-cts-cmac", "Camellia-256 CTS mode with CMAC"),
-    CAMELLIA256_CTS(0x001a, "camellia256-cts", "Camellia-256 CTS mode with CMAC");
-
-    //UNKNOWN(0x01ff, "UNKNOWN", "Unknown encryption type");
-
-    private final int value;
-
-    private final String name;
-
-    private final String displayName;
-
-    private EncryptionType(int value, String name, String displayName) {
-        this.value = value;
-        this.name = name;
-        this.displayName = displayName;
-    }
-
-    @Override
-    public int getValue() {
-        return value;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getDisplayName() {
-        return displayName;
-    }
-
-    /**
-     * Is the type uses AES256 or not
-     * @return true if uses AES256, false otherwise.
-     */
-    public boolean usesAES256() {
-        return name.contains("aes256");
-    }
-
-    public static EncryptionType fromValue(Integer value) {
-        if (value != null) {
-            for (Asn1EnumType e : values()) {
-                if (e.getValue() == value) {
-                    return (EncryptionType) e;
-                }
-            }
-        }
-        return NONE;
-    }
-
-    public static EncryptionType fromName(String name) {
-        if (name != null) {
-            for (EncryptionType e : values()) {
-                if (e.getName().equals(name)) {
-                    return (EncryptionType) e;
-                }
-            }
-        }
-        return NONE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo.java
deleted file mode 100644
index 76abe24..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceOfType;
-
-/**
- ETYPE-INFO              ::= SEQUENCE OF ETYPE-INFO-ENTRY
- */
-public class EtypeInfo extends KrbSequenceOfType<EtypeInfoEntry> {
-
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2.java
deleted file mode 100644
index 47013aa..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceOfType;
-
-/**
- ETYPE-INFO2             ::= SEQUENCE SIZE (1..MAX) OF ETYPE-INFO2-ENTRY
- */
-public class EtypeInfo2 extends KrbSequenceOfType<EtypeInfo2Entry> {
-
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2Entry.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2Entry.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2Entry.java
deleted file mode 100644
index aac940d..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfo2Entry.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KerberosString;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-/**
- ETYPE-INFO2-ENTRY       ::= SEQUENCE {
- etype           [0] Int32,
- salt            [1] KerberosString OPTIONAL,
- s2kparams       [2] OCTET STRING OPTIONAL
- }
- */
-public class EtypeInfo2Entry extends KrbSequenceType {
-    private static final int ETYPE = 0;
-    private static final int SALT = 1;
-    private static final int S2KPARAMS = 2;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(ETYPE, 0, Asn1Integer.class),
-            new ExplicitField(SALT, 1, KerberosString.class),
-            new ExplicitField(S2KPARAMS, 2, Asn1OctetString.class)
-    };
-
-    public EtypeInfo2Entry() {
-        super(fieldInfos);
-    }
-
-    public EncryptionType getEtype() {
-        return EncryptionType.fromValue(getFieldAsInt(ETYPE));
-    }
-
-    public void setEtype(EncryptionType etype) {
-        setField(ETYPE, etype);
-    }
-
-    public String getSalt() {
-        return getFieldAsString(SALT);
-    }
-
-    public void setSalt(String salt) {
-        setFieldAsString(SALT, salt);
-    }
-
-    public byte[] getS2kParams() {
-        return getFieldAsOctets(S2KPARAMS);
-    }
-
-    public void setS2kParams(byte[] s2kParams) {
-        setFieldAsOctets(S2KPARAMS, s2kParams);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfoEntry.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfoEntry.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfoEntry.java
deleted file mode 100644
index 176a212..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/EtypeInfoEntry.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-/**
- ETYPE-INFO-ENTRY        ::= SEQUENCE {
- etype           [0] Int32,
- salt            [1] OCTET STRING OPTIONAL
- }
- */
-public class EtypeInfoEntry extends KrbSequenceType {
-    private static final int ETYPE = 0;
-    private static final int SALT = 1;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(ETYPE, 0, Asn1Integer.class),
-            new ExplicitField(SALT, 1, Asn1OctetString.class)
-    };
-
-    public EtypeInfoEntry() {
-        super(fieldInfos);
-    }
-
-    public EncryptionType getEtype() {
-        return EncryptionType.fromValue(getFieldAsInt(ETYPE));
-    }
-
-    public void setEtype(EncryptionType etype) {
-        setField(ETYPE, etype);
-    }
-
-    public byte[] getSalt() {
-        return getFieldAsOctets(SALT);
-    }
-
-    public void setSalt(byte[] salt) {
-        setFieldAsOctets(SALT, salt);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddrType.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddrType.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddrType.java
deleted file mode 100644
index 33342da..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddrType.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1EnumType;
-
-public enum HostAddrType implements Asn1EnumType {
-    /**
-     * Constant for the "null" host address type.
-     */
-    NULL(0),
-
-    /**
-     * Constant for the "Internet" host address type.
-     */
-    ADDRTYPE_INET(2),
-
-    /**
-     * Constant for the "Arpanet" host address type.
-     */
-    ADDRTYPE_IMPLINK(3),
-
-    /**
-     * Constant for the "CHAOS" host address type.
-     */
-    ADDRTYPE_CHAOS(5),
-
-    /**
-     * Constant for the "XEROX Network Services" host address type.
-     */
-    ADDRTYPE_XNS(6),
-
-    /**
-     * Constant for the "OSI" host address type.
-     */
-    ADDRTYPE_OSI(7),
-
-    /**
-     * Constant for the "DECnet" host address type.
-     */
-    ADDRTYPE_DECNET(12),
-
-    /**
-     * Constant for the "AppleTalk" host address type.
-     */
-    ADDRTYPE_APPLETALK(16),
-
-    /**
-     * Constant for the "NetBios" host address type.
-     *
-     * Not in RFC
-     */
-    ADDRTYPE_NETBIOS(20),
-
-    /**
-     * Constant for the "Internet Protocol V6" host address type.
-     */
-    ADDRTYPE_INET6(24);
-
-
-    private final int value;
-
-    private HostAddrType(int value) {
-        this.value = value;
-    }
-
-    @Override
-    public int getValue() {
-        return value;
-    }
-
-    public static HostAddrType fromValue(Integer value) {
-        if (value != null) {
-            for (Asn1EnumType e : values()) {
-                if (e.getValue() == value.intValue()) {
-                    return (HostAddrType) e;
-                }
-            }
-        }
-
-        return NULL;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddress.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddress.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddress.java
deleted file mode 100644
index 404d803..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddress.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-import java.net.InetAddress;
-import java.util.Arrays;
-
-/*
-HostAddress     ::= SEQUENCE  {
-        addr-type       [0] Int32,
-        address         [1] OCTET STRING
-}
- */
-public class HostAddress extends KrbSequenceType {
-    private static final int ADDR_TYPE = 0;
-    private static final int ADDRESS = 1;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(ADDR_TYPE, 0, Asn1Integer.class),
-            new ExplicitField(ADDRESS, 1, Asn1OctetString.class)
-    };
-
-    public HostAddress() {
-        super(fieldInfos);
-    }
-
-    public HostAddress(InetAddress inetAddress) {
-        this();
-
-        setAddrType(HostAddrType.ADDRTYPE_INET);
-        setAddress(inetAddress.getAddress());
-    }
-
-    public HostAddrType getAddrType() {
-        Integer value = getFieldAsInteger(ADDR_TYPE);
-        return HostAddrType.fromValue(value);
-    }
-
-    public void setAddrType(HostAddrType addrType) {
-        setField(ADDR_TYPE, addrType);
-    }
-
-    public byte[] getAddress() {
-        return getFieldAsOctets(ADDRESS);
-    }
-
-    public void setAddress(byte[] address) {
-        setFieldAsOctets(ADDRESS, address);
-    }
-
-    public boolean equalsWith(InetAddress address) {
-        if (address == null) {
-            return false;
-        }
-        HostAddress that = new HostAddress(address);
-        return that.equals(this);
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (other == null) {
-            return false;
-        }
-        if (other == this) {
-            return true;
-        } else if (!(other instanceof HostAddress)) {
-            return false;
-        }
-
-        HostAddress that = (HostAddress) other;
-        if (getAddrType() == that.getAddrType()
-                && Arrays.equals(getAddress(), that.getAddress())) {
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = getAddrType().getValue();
-        if (getAddress() != null) {
-            result = 31 * result + Arrays.hashCode(getAddress());
-        }
-
-        return result;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddresses.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddresses.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddresses.java
deleted file mode 100644
index a704d8b..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/HostAddresses.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceOfType;
-
-import java.net.InetAddress;
-
-/**
- -- NOTE: HostAddresses is always used as an OPTIONAL field and
- -- should not be empty.
- HostAddresses   -- NOTE: subtly different from rfc1510,
- -- but has a value mapping and encodes the same
- ::= SEQUENCE OF HostAddress
- */
-public class HostAddresses extends KrbSequenceOfType<HostAddress> {
-
-    public boolean contains(InetAddress address) {
-        for (HostAddress hostAddress : getElements()) {
-            if (hostAddress.equalsWith(address)) {
-                return true;
-            }
-        }
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KeyUsage.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KeyUsage.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KeyUsage.java
deleted file mode 100644
index 1715865..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KeyUsage.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1EnumType;
-
-/**
- * From krb5.hin
- */
-public enum KeyUsage implements Asn1EnumType {
-    UNKNOWN(-1),
-    NONE(0),
-    //AS-REQ PA-ENC-TIMESTAMP padata timestamp, encrypted with the client key
-    AS_REQ_PA_ENC_TS(1),
-    //AS-REP Ticket and TGS-REP Ticket (includes TGS session key or application session key),
-    //encrypted with the service key (Section 5.3)
-    KDC_REP_TICKET(2),
-    //AS-REP encrypted part (includes TGS session key or application session key),
-    //encrypted with the client key (Section 5.4.2)
-    AS_REP_ENCPART(3),
-    //TGS-REQ KDC-REQ-BODY AuthorizationData,
-    //encrypted with the TGS session key (Section 5.4.1)
-    TGS_REQ_AD_SESSKEY(4),
-    //TGS-REQ KDC-REQ-BODY AuthorizationData,
-    //encrypted with the TGS authenticator subkey (Section 5.4.1)
-    TGS_REQ_AD_SUBKEY(5),
-    //TGS-REQ PA-TGS-REQ padata AP-REQ Authenticator cksum,
-    //keyed with the TGS session key (Section 5.5.1)
-    TGS_REQ_AUTH_CKSUM(6),
-    //TGS-REQ PA-TGS-REQ padata AP-REQ Authenticator (includes TGS authenticator subkey),
-    //encrypted with the TGS session key (Section 5.5.1)
-    TGS_REQ_AUTH(7),
-    //TGS-REP encrypted part (includes application session key),
-    //encrypted with the TGS session key (Section 5.4.2)
-    TGS_REP_ENCPART_SESSKEY(8),
-    //TGS-REP encrypted part (includes application session key),
-    //encrypted with the TGS authenticator subkey (Section 5.4.2)
-    TGS_REP_ENCPART_SUBKEY(9),
-    //AP-REQ Authenticator cksum, keyed with the application session key (Section 5.5.1)
-    AP_REQ_AUTH_CKSUM(10),
-    //AP-REQ Authenticator (includes application authenticator subkey),
-    //encrypted with the application session key (Section 5.5.1)
-    AP_REQ_AUTH(11),
-    //AP-REP encrypted part (includes application session subkey),
-    //encrypted with the application session key (Section 5.5.2)
-    AP_REP_ENCPART(12),
-    //KRB-PRIV encrypted part, encrypted with a key chosen by the application (Section 5.7.1)
-    KRB_PRIV_ENCPART(13),
-    KRB_CRED_ENCPART(14),
-    KRB_SAFE_CKSUM(15),
-    APP_DATA_ENCRYPT(16),
-    APP_DATA_CKSUM(17),
-    KRB_ERROR_CKSUM(18),
-    AD_KDCISSUED_CKSUM(19),
-    AD_MTE(20),
-    AD_ITE(21),
-    GSS_TOK_MIC(22),
-    GSS_TOK_WRAP_INTEG(23),
-    GSS_TOK_WRAP_PRIV(24),
-    //Defined in Integrating SAM Mechanisms with Kerberos draft
-    PA_SAM_CHALLENGE_CKSUM(25),
-    //Note conflict with @ref PA_S4U_X509_USER_REQUEST
-    PA_SAM_CHALLENGE_TRACKID(26),
-    //Note conflict with @ref PA_S4U_X509_USER_REPLY
-    PA_SAM_RESPONSE(27),
-    //Defined in [MS-SFU]
-    //Note conflict with @ref PA_SAM_CHALLENGE_TRACKID
-    PA_S4U_X509_USER_REQUEST(26),
-    //Note conflict with @ref PA_SAM_RESPONSE
-    PA_S4U_X509_USER_REPLY(27),
-    //unused
-    PA_REFERRAL(26),
-    AD_SIGNEDPATH(-21),
-    IAKERB_FINISHED(42),
-    PA_PKINIT_KX(44),
-    PA_OTP_REQUEST(45),  //See RFC 6560 section 4.2
-    //define in preauth-framework
-    FAST_REQ_CHKSUM(50),
-    FAST_ENC(51),
-    FAST_REP(52),
-    FAST_FINISHED(53),
-    ENC_CHALLENGE_CLIENT(54),
-    ENC_CHALLENGE_KDC(55),
-    AS_REQ(56),
-    //PA-TOKEN padata,encrypted with the client key
-    PA_TOKEN(57);
-
-    private int value;
-
-    private KeyUsage(int value) {
-        this.value = value;
-    }
-
-    public int getValue() {
-        return value;
-    }
-
-    public static KeyUsage fromValue(Integer value) {
-        if (value != null) {
-            for (Asn1EnumType e : values()) {
-                if (e.getValue() == value) {
-                    return (KeyUsage) e;
-                }
-            }
-        }
-        return UNKNOWN;
-    }
-
-    public static final boolean isValid(int usage) {
-        return usage > -1;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbError.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbError.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbError.java
deleted file mode 100644
index 31938f9..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbError.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.KrbErrorCode;
-import org.apache.kerby.kerberos.kerb.spec.KerberosString;
-import org.apache.kerby.kerberos.kerb.spec.KerberosTime;
-
-/**
- KRB-ERROR       ::= [APPLICATION 30] SEQUENCE {
-     pvno            [0] INTEGER (5),
-     msg-type        [1] INTEGER (30),
-     ctime           [2] KerberosTime OPTIONAL,
-     cusec           [3] Microseconds OPTIONAL,
-     stime           [4] KerberosTime,
-     susec           [5] Microseconds,
-     error-code      [6] Int32,
-     crealm          [7] Realm OPTIONAL,
-     cname           [8] PrincipalName OPTIONAL,
-     realm           [9] Realm -- service realm --,
-     sname           [10] PrincipalName -- service name --,
-     e-text          [11] KerberosString OPTIONAL,
-     e-data          [12] OCTET STRING OPTIONAL
- }
- */
-public class KrbError extends KrbMessage {
-    private static final int CTIME = 2;
-    private static final int CUSEC = 3;
-    private static final int STIME = 4;
-    private static final int SUSEC = 5;
-    private static final int ERROR_CODE = 6;
-    private static final int CREALM = 7;
-    private static final int CNAME = 8;
-    private static final int REALM = 9;
-    private static final int SNAME = 10;
-    private static final int ETEXT = 11;
-    private static final int EDATA = 12;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(PVNO, Asn1Integer.class),
-            new ExplicitField(MSG_TYPE, Asn1Integer.class),
-            new ExplicitField(CTIME, KerberosTime.class),
-            new ExplicitField(CUSEC, Asn1Integer.class),
-            new ExplicitField(STIME, KerberosTime.class),
-            new ExplicitField(SUSEC, Asn1Integer.class),
-            new ExplicitField(ERROR_CODE, Asn1Integer.class),
-            new ExplicitField(CREALM, KerberosString.class),
-            new ExplicitField(CNAME, PrincipalName.class),
-            new ExplicitField(REALM, KerberosString.class),
-            new ExplicitField(SNAME, PrincipalName.class),
-            new ExplicitField(ETEXT, KerberosString.class),
-            new ExplicitField(EDATA, Asn1OctetString.class)
-    };
-
-    public KrbError() {
-        super(KrbMessageType.KRB_ERROR, fieldInfos);
-    }
-
-    public KerberosTime getCtime() {
-        return getFieldAs(CTIME, KerberosTime.class);
-    }
-
-    public void setCtime(KerberosTime ctime) {
-        setFieldAs(CTIME, ctime);
-    }
-
-    public int getCusec() {
-        return getFieldAsInt(CUSEC);
-    }
-
-    public void setCusec(int cusec) {
-        setFieldAsInt(CUSEC, cusec);
-    }
-
-    public KerberosTime getStime() {
-        return getFieldAs(STIME, KerberosTime.class);
-    }
-
-    public void setStime(KerberosTime stime) {
-        setFieldAs(STIME, stime);
-    }
-
-    public int getSusec() {
-        return getFieldAsInt(SUSEC);
-    }
-
-    public void setSusec(int susec) {
-        setFieldAsInt(SUSEC, susec);
-    }
-
-    public KrbErrorCode getErrorCode() {
-        return KrbErrorCode.fromValue(getFieldAsInt(ERROR_CODE));
-    }
-
-    public void setErrorCode(KrbErrorCode errorCode) {
-        setField(ERROR_CODE, errorCode);
-    }
-
-    public String getCrealm() {
-        return getFieldAsString(CREALM);
-    }
-
-    public void setCrealm(String realm) {
-        setFieldAs(CREALM, new KerberosString(realm));
-    }
-
-    public PrincipalName getCname() {
-        return getFieldAs(CNAME, PrincipalName.class);
-    }
-
-    public void setCname(PrincipalName sname) {
-        setFieldAs(CNAME, sname);
-    }
-
-    public PrincipalName getSname() {
-        return getFieldAs(SNAME, PrincipalName.class);
-    }
-
-    public void setSname(PrincipalName sname) {
-        setFieldAs(SNAME, sname);
-    }
-
-    public String getRealm() {
-        return getFieldAsString(REALM);
-    }
-
-    public void setRealm(String realm) {
-        setFieldAs(REALM, new KerberosString(realm));
-    }
-
-    public String getEtext() {
-        return getFieldAsString(ETEXT);
-    }
-
-    public void setEtext(String realm) {
-        setFieldAs(ETEXT, new KerberosString(realm));
-    }
-
-    public byte[] getEdata() {
-        return getFieldAsOctetBytes(EDATA);
-    }
-
-    public void setEdata(byte[] edata) {
-        setFieldAsOctetBytes(EDATA, edata);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessage.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessage.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessage.java
deleted file mode 100644
index 0b1297c..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessage.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.kerberos.kerb.KrbConstant;
-import org.apache.kerby.kerberos.kerb.spec.KrbAppSequenceType;
-
-public abstract class KrbMessage extends KrbAppSequenceType {
-    protected static final int PVNO = 0;
-    protected static final int MSG_TYPE = 1;
-
-    private final int pvno = KrbConstant.KRB_V5;
-
-    public KrbMessage(KrbMessageType msgType, Asn1FieldInfo[] fieldInfos) {
-        super(msgType.getValue(), fieldInfos);
-        setPvno(pvno);
-        setMsgType(msgType);
-    }
-
-    public int getPvno() {
-        return pvno;
-    }
-
-    protected void setPvno(int pvno) {
-        setFieldAsInt(0, pvno);
-    }
-
-    public KrbMessageType getMsgType() {
-        Integer value = getFieldAsInteger(MSG_TYPE);
-        return KrbMessageType.fromValue(value);
-    }
-
-    public void setMsgType(KrbMessageType msgType) {
-        setFieldAsInt(MSG_TYPE, msgType.getValue());
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessageType.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessageType.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessageType.java
deleted file mode 100644
index 464c87d..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbMessageType.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1EnumType;
-
-public enum KrbMessageType implements Asn1EnumType {
-    NONE(-1),
-    AS_REQ(10),
-    AS_REP(11),
-    TGS_REQ(12),
-    TGS_REP(13),
-    AP_REQ(14),
-    AP_REP(15),
-    KRB_SAFE(20),
-    KRB_PRIV(21),
-    KRB_CRED(22),
-    KRB_ERROR(30);
-
-    private int value;
-
-    private KrbMessageType(int value) {
-        this.value = value;
-    }
-
-    @Override
-    public int getValue() {
-        return value;
-    }
-
-    public static KrbMessageType fromValue(Integer value) {
-        if (value != null) {
-            for (Asn1EnumType e : values()) {
-                if (e.getValue() == value.intValue()) {
-                    return (KrbMessageType) e;
-                }
-            }
-        }
-
-        return NONE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbToken.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbToken.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbToken.java
deleted file mode 100644
index e0ccd52..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/KrbToken.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/**
- *  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. 
- *
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.Asn1OctetString;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.KrbConstant;
-import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.KrbRuntime;
-import org.apache.kerby.kerberos.kerb.provider.TokenDecoder;
-import org.apache.kerby.kerberos.kerb.provider.TokenEncoder;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * KRB-TOKEN_VALUE ::= SEQUENCE {
- * token-format [0] INTEGER,
- * token-value  [1] OCTET STRING,
- * }
- */
-public class KrbToken extends KrbSequenceType implements AuthToken {
-    private static TokenEncoder tokenEncoder;
-    private static TokenDecoder tokenDecoder;
-
-    private static final int TOKEN_FORMAT = 0;
-    private static final int TOKEN_VALUE = 1;
-
-    private AuthToken innerToken = null;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[]{
-            new ExplicitField(TOKEN_FORMAT, 0, Asn1Integer.class),
-            new ExplicitField(TOKEN_VALUE, 1, Asn1OctetString.class)
-    };
-
-
-    /**
-     * Default constructor.
-     */
-    public KrbToken() {
-        super(fieldInfos);
-    }
-
-    /**
-     * Construct with prepared authToken and token format.
-     *
-     * @param authToken The authToken
-     * @param format    The token format
-     */
-    public KrbToken(AuthToken authToken, TokenFormat format) {
-        this();
-
-        this.innerToken = authToken;
-        setTokenType();
-        setTokenFormat(format);
-        try {
-            setTokenValue(getTokenEncoder().encodeAsBytes(innerToken));
-        } catch (KrbException e) {
-            throw new RuntimeException("Failed to encode AuthToken", e);
-        }
-    }
-
-    /**
-     * Get AuthToken.
-     *
-     * @return The inner token.
-     */
-    public AuthToken getAuthToken() {
-        return innerToken;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void decode(ByteBuffer content) throws IOException {
-        super.decode(content);
-        this.innerToken = getTokenDecoder().decodeFromBytes(getTokenValue());
-        setTokenType();
-    }
-
-    /**
-     * Set token type.
-     */
-    public void setTokenType() {
-        List<String> audiences = this.innerToken.getAudiences();
-        if (audiences.size() == 1 && audiences.get(0).startsWith(KrbConstant.TGS_PRINCIPAL)) {
-            isIdToken(true);
-        } else {
-            isAcToken(true);
-        }
-    }
-
-    /**
-     * Get token encoder.
-     * @return The token encoder
-     */
-    private static TokenEncoder getTokenEncoder() {
-        if (tokenEncoder == null) {
-            tokenEncoder = KrbRuntime.getTokenProvider().createTokenEncoder();
-        }
-        return tokenEncoder;
-    }
-
-    /**
-     * Get token decoder.
-     * @return The token decoder
-     */
-    private static TokenDecoder getTokenDecoder() {
-        if (tokenDecoder == null) {
-            tokenDecoder = KrbRuntime.getTokenProvider().createTokenDecoder();
-        }
-        return tokenDecoder;
-    }
-
-    /**
-     * Get token format.
-     * @return The token format
-     */
-    public TokenFormat getTokenFormat() {
-        Integer value = getFieldAsInteger(TOKEN_FORMAT);
-        return TokenFormat.fromValue(value);
-    }
-
-    /**
-     * Set token format.
-     * @param tokenFormat The token format
-     */
-    public void setTokenFormat(TokenFormat tokenFormat) {
-        setFieldAsInt(TOKEN_FORMAT, tokenFormat.getValue());
-    }
-
-    /**
-     * Get token value.
-     * @return The token value
-     */
-    public byte[] getTokenValue() {
-        return getFieldAsOctets(TOKEN_VALUE);
-    }
-
-    /**
-     * Set token value.
-     * @param tokenValue The token value
-     */
-    public void setTokenValue(byte[] tokenValue) {
-        setFieldAsOctets(TOKEN_VALUE, tokenValue);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public String getSubject() {
-        return innerToken.getSubject();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setSubject(String sub) {
-        innerToken.setSubject(sub);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public String getIssuer() {
-        return innerToken.getIssuer();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setIssuer(String issuer) {
-        innerToken.setIssuer(issuer);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public List<String> getAudiences() {
-        return innerToken.getAudiences();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setAudiences(List<String> audiences) {
-        innerToken.setAudiences(audiences);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isIdToken() {
-        return innerToken.isIdToken();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void isIdToken(boolean isIdToken) {
-        innerToken.isIdToken(isIdToken);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isAcToken() {
-        return innerToken.isAcToken();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void isAcToken(boolean isAcToken) {
-        innerToken.isAcToken(isAcToken);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isBearerToken() {
-        return innerToken.isBearerToken();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isHolderOfKeyToken() {
-        return innerToken.isHolderOfKeyToken();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Date getExpiredTime() {
-        return innerToken.getExpiredTime();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setExpirationTime(Date exp) {
-        innerToken.setExpirationTime(exp);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Date getNotBeforeTime() {
-        return innerToken.getNotBeforeTime();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setNotBeforeTime(Date nbt) {
-        innerToken.setNotBeforeTime(nbt);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Date getIssueTime() {
-        return innerToken.getIssueTime();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void setIssueTime(Date iat) {
-        innerToken.setIssueTime(iat);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Map<String, Object> getAttributes() {
-        return innerToken.getAttributes();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void addAttribute(String name, Object value) {
-        innerToken.addAttribute(name, value);
-    }
-
-    public void setInnerToken(AuthToken authToken) {
-        this.innerToken = authToken;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReq.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReq.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReq.java
deleted file mode 100644
index 83f3b13..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReq.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceOfType;
-
-/**
- LastReq         ::=     SEQUENCE OF SEQUENCE {
- lr-type         [0] Int32,
- lr-value        [1] KerberosTime
- }
- */
-public class LastReq extends KrbSequenceOfType<LastReqEntry> {
-
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqEntry.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqEntry.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqEntry.java
deleted file mode 100644
index 816821a..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqEntry.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1FieldInfo;
-import org.apache.kerby.asn1.type.Asn1Integer;
-import org.apache.kerby.asn1.type.ExplicitField;
-import org.apache.kerby.kerberos.kerb.spec.KerberosTime;
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceType;
-
-/**
- LastReq         ::=     SEQUENCE OF SEQUENCE {
- lr-type         [0] Int32,
- lr-value        [1] KerberosTime
- }
- */
-public class LastReqEntry extends KrbSequenceType {
-    private static final int LR_TYPE = 0;
-    private static final int LR_VALUE = 1;
-
-    static Asn1FieldInfo[] fieldInfos = new Asn1FieldInfo[] {
-            new ExplicitField(LR_TYPE, 0, Asn1Integer.class),
-            new ExplicitField(LR_VALUE, 1, KerberosTime.class)
-    };
-
-    public LastReqEntry() {
-        super(fieldInfos);
-    }
-
-    public LastReqType getLrType() {
-        Integer value = getFieldAsInteger(LR_TYPE);
-        return LastReqType.fromValue(value);
-    }
-
-    public void setLrType(LastReqType lrType) {
-        setFieldAsInt(LR_TYPE, lrType.getValue());
-    }
-
-    public KerberosTime getLrValue() {
-        return getFieldAs(LR_VALUE, KerberosTime.class);
-    }
-
-    public void setLrValue(KerberosTime lrValue) {
-        setFieldAs(LR_VALUE, lrValue);
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqType.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqType.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqType.java
deleted file mode 100644
index 8113fe9..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/LastReqType.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.asn1.type.Asn1EnumType;
-
-public enum LastReqType implements Asn1EnumType {
-    NONE(0),
-    ALL_LAST_TGT(1),
-    THE_LAST_TGT(-1),
-    ALL_LAST_INITIAL(2),
-    THE_LAST_INITIAL(-2),
-    ALL_LAST_TGT_ISSUED(3),
-    THE_LAST_TGT_ISSUED(-3),
-    ALL_LAST_RENEWAL(4),
-    THE_LAST_RENEWAL(-4),
-    ALL_LAST_REQ(5),
-    THE_LAST_REQ(-5),
-    ALL_PW_EXPTIME(6),
-    THE_PW_EXPTIME(-6),
-    ALL_ACCT_EXPTIME(7),
-    THE_ACCT_EXPTIME(-7);
-
-    private int value;
-
-    private LastReqType(int value) {
-        this.value = value;
-    }
-
-    @Override
-    public int getValue() {
-        return value;
-    }
-
-    public static LastReqType fromValue(Integer value) {
-        if (value != null) {
-            for (Asn1EnumType e : values()) {
-                if (e.getValue() == value) {
-                    return (LastReqType) e;
-                }
-            }
-        }
-        return NONE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/800e02fd/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/MethodData.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/MethodData.java b/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/MethodData.java
deleted file mode 100644
index 9dcb207..0000000
--- a/kerby-kerb/kerb-core/src/main/java/org/apache/kerby/kerberos/kerb/spec/base/MethodData.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- *  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. 
- *  
- */
-package org.apache.kerby.kerberos.kerb.spec.base;
-
-import org.apache.kerby.kerberos.kerb.spec.KrbSequenceOfType;
-import org.apache.kerby.kerberos.kerb.spec.pa.PaDataEntry;
-
-/**
- METHOD-DATA     ::= SEQUENCE OF PA-DATA
- */
-public class MethodData extends KrbSequenceOfType<PaDataEntry> {
-
-}