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/01/13 23:34:47 UTC
[1/3] directory-kerberos git commit: Working on fixing des etypes
Repository: directory-kerberos
Updated Branches:
refs/heads/fixdes [created] 33cde4047
Working on fixing des etypes
Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/3af379ba
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/3af379ba
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/3af379ba
Branch: refs/heads/fixdes
Commit: 3af379ba969fe795d7e18be3fac81e3525a55718
Parents: 85b27a1
Author: Drankye <dr...@gmail.com>
Authored: Tue Jan 13 06:56:22 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Tue Jan 13 06:56:22 2015 +0800
----------------------------------------------------------------------
.../kerberos/kerb/crypto/EncryptionHandler.java | 6 ++--
.../kerberos/kerb/crypto/key/DesKeyMaker.java | 33 +++-----------------
.../kerberos/kerb/crypto/String2keyTest.java | 2 +-
3 files changed, 9 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/3af379ba/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/EncryptionHandler.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/EncryptionHandler.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/EncryptionHandler.java
index c269b36..6bc2de1 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/EncryptionHandler.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/EncryptionHandler.java
@@ -33,16 +33,16 @@ public class EncryptionHandler {
*/
switch (eType) {
case DES_CBC_CRC:
- //encHandler = new DesCbcCrcEnc();
+ encHandler = new DesCbcCrcEnc();
break;
case DES_CBC_MD5:
case DES:
- //encHandler = new DesCbcMd5Enc();
+ encHandler = new DesCbcMd5Enc();
break;
case DES_CBC_MD4:
- //encHandler = new DesCbcMd4Enc();
+ encHandler = new DesCbcMd4Enc();
break;
case DES3_CBC_SHA1:
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/3af379ba/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
index 4a8dc56..0b2fc04 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
@@ -103,32 +103,10 @@ public class DesKeyMaker extends AbstractKeyMaker {
throw new KrbException("Invalid random bits, not of correct bytes size");
}
- /**
- * Ref. k5_rand2key_des in random_to_key.c in MIT krb5
- * Take the seven bytes, move them around into the top 7 bits of the
- * 8 key bytes, then compute the parity bits. Do this three times.
- */
- byte[] key = new byte[encProvider().keySize()];
- int tmp;
- System.arraycopy(randomBits, 0, key, 0, 7);
-
- key[7] = (byte) (((key[0] & 1) << 1) |
- ((key[1] & 1) << 2) |
- ((key[2] & 1) << 3) |
- ((key[3] & 1) << 4) |
- ((key[4] & 1) << 5) |
- ((key[5] & 1) << 6) |
- ((key[6] & 1) << 7));
-
- for (int i = 0; i < 8; i++) {
- tmp = key[i] & 0xfe;
- tmp |= (Integer.bitCount(tmp) & 1) ^ 1;
- key[i] = (byte) tmp;
- }
-
- Des.fixKey(key, 0, 8);
+ byte[] keyBytes = addParityBits(randomBits);
+ keyCorrection(keyBytes);
- return key;
+ return keyBytes;
}
// Processing an 8bytesblock
@@ -214,6 +192,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
for (int i = 0; i < 8; i++) {
bits56[i] <<= 1;
}
+
addParity(bits56);
return bits56;
@@ -221,9 +200,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
private static void keyCorrection(byte[] key) {
addParity(key);
- if (Des.isWeakKey(key, 0, key.length)) {
- Des.fixKey(key, 0, key.length);
- }
+ Des.fixKey(key, 0, key.length);
}
private static int smask(int step) {
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/3af379ba/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
index a18763e..3b84e49 100644
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
@@ -425,7 +425,7 @@ public class String2keyTest {
System.err.println("outKey:" + TestUtil.bytesToHex(outkey.getKeyData()));
System.err.println("answer:" + tc.answer);
// Will un-comment below when passed all the tests.
- //return false;
+ return false;
}
return true;
}
[3/3] directory-kerberos git commit: Added test for the des key maker
for intermediate steps
Posted by dr...@apache.org.
Added test for the des key maker for intermediate steps
Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/33cde404
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/33cde404
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/33cde404
Branch: refs/heads/fixdes
Commit: 33cde40470beafb60aa264283122998c11965af3
Parents: 0ce18e3
Author: Drankye <dr...@gmail.com>
Authored: Wed Jan 14 06:34:04 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Wed Jan 14 06:34:04 2015 +0800
----------------------------------------------------------------------
.../kerb/crypto/key/AbstractKeyMaker.java | 17 ++++--
.../kerberos/kerb/crypto/key/Des3KeyMaker.java | 13 +----
.../kerberos/kerb/crypto/key/DesKeyMaker.java | 47 ++++++++++++----
.../kerberos/kerb/crypto/DesKeyMakerTest.java | 59 ++++++++++++++++++++
4 files changed, 110 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/33cde404/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/AbstractKeyMaker.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/AbstractKeyMaker.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/AbstractKeyMaker.java
index 1738788..69b5576 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/AbstractKeyMaker.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/AbstractKeyMaker.java
@@ -44,12 +44,19 @@ public abstract class AbstractKeyMaker implements KeyMaker {
return new byte[0];
}
- protected static char[] makePasswdSalt(String password, String salt) {
- char[] result = new char[password.length() + salt.length()];
- System.arraycopy(password.toCharArray(), 0, result, 0, password.length());
- System.arraycopy(salt.toCharArray(), 0, result, password.length(), salt.length());
+ /**
+ * Visible for test
+ */
+ public static byte[] makePasswdSalt(String password, String salt) {
+ char[] chars = new char[password.length() + salt.length()];
+ System.arraycopy(password.toCharArray(), 0, chars, 0, password.length());
+ System.arraycopy(salt.toCharArray(), 0, chars, password.length(), salt.length());
- return result;
+ try {
+ return new String(chars).getBytes("UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException("Character decoding failed", e);
+ }
}
protected static int getIterCount(byte[] param, int defCount) {
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/33cde404/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/Des3KeyMaker.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/Des3KeyMaker.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/Des3KeyMaker.java
index f8df6a5..9b98a5e 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/Des3KeyMaker.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/Des3KeyMaker.java
@@ -24,8 +24,6 @@ import org.apache.kerberos.kerb.crypto.Des;
import org.apache.kerberos.kerb.crypto.Nfold;
import org.apache.kerberos.kerb.crypto.enc.EncryptProvider;
-import java.io.UnsupportedEncodingException;
-
public class Des3KeyMaker extends DkKeyMaker {
public Des3KeyMaker(EncryptProvider encProvider) {
@@ -34,15 +32,10 @@ public class Des3KeyMaker extends DkKeyMaker {
@Override
public byte[] str2key(String string, String salt, byte[] param) throws KrbException {
- char[] passwdSalt = makePasswdSalt(string, salt);
+ byte[] utf8Bytes = makePasswdSalt(string, salt);
int keyInputSize = encProvider().keyInputSize();
- try {
- byte[] utf8Bytes = new String(passwdSalt).getBytes("UTF-8");
- byte[] tmpKey = random2Key(Nfold.nfold(utf8Bytes, keyInputSize));
- return dk(tmpKey, KERBEROS_CONSTANT);
- } catch (UnsupportedEncodingException e) {
- throw new KrbException("str2key failed", e);
- }
+ byte[] tmpKey = random2Key(Nfold.nfold(utf8Bytes, keyInputSize));
+ return dk(tmpKey, KERBEROS_CONSTANT);
}
@Override
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/33cde404/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
index 4ad6d98..5feab96 100644
--- a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
+++ b/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
@@ -52,8 +52,7 @@ public class DesKeyMaker extends AbstractKeyMaker {
throw new KrbException(error);
}
- char[] passwdSalt = makePasswdSalt(string, salt);
- byte[] key = toKey(passwdSalt);
+ byte[] key = toKey(string, salt);
return key;
}
@@ -74,15 +73,30 @@ public class DesKeyMaker extends AbstractKeyMaker {
return(key);
}
*/
- private byte[] toKey(char[] passwdChars) throws KrbException {
- int keySize = encProvider().keySize();
+ private byte[] toKey(String string, String salt) throws KrbException {
+ byte[] bytes = makePasswdSalt(string, salt);
+ // padded with zero-valued octets to a multiple of eight octets.
+ byte[] paddedBytes = BytesUtil.padding(bytes, 8);
- byte[] bytes = (new String(passwdChars)).getBytes();
+ byte[] fanFoldedKey = fanFold(string, salt, paddedBytes);
- // padded with zero-valued octets to a multiple of eight octets.
- byte[] paddedBytes = BytesUtil.padding(bytes, keySize);
+ byte[] intermediateKey = intermediateKey(fanFoldedKey);
+
+ byte[] key = desEncryptedKey(intermediateKey, paddedBytes);
+ return key;
+ }
+
+ /**
+ * Visible for test
+ */
+ public static byte[] fanFold(String string, String salt, byte[] paddedBytes) {
+ if (paddedBytes == null) {
+ byte[] bytes = makePasswdSalt(string, salt);
+ // padded with zero-valued octets to a multiple of eight octets.
+ paddedBytes = BytesUtil.padding(bytes, 8);
+ }
- int blocksOfbytes8 = paddedBytes.length / keySize;
+ int blocksOfbytes8 = paddedBytes.length / 8;
boolean odd = true;
byte[] bits56 = new byte[8];
byte[] tempString = new byte[8];
@@ -92,16 +106,27 @@ public class DesKeyMaker extends AbstractKeyMaker {
if (odd) {
reverse(bits56);
}
- odd = ! odd;
+ odd = !odd;
BytesUtil.xor(bits56, 0, tempString);
}
- byte[] keyBytes = addParityBits(tempString);
+ return tempString;
+ }
+
+ /**
+ * Visible for test
+ */
+ public static byte[] intermediateKey(byte[] fanFoldedKey) {
+ byte[] keyBytes = addParityBits(fanFoldedKey);
keyCorrection(keyBytes);
+ return keyBytes;
+ }
+
+ private byte[] desEncryptedKey(byte[] intermediateKey, byte[] originalBytes) throws KrbException {
byte[] resultKey = null;
if (encProvider().supportCbcMac()) {
- resultKey = encProvider().cbcMac(keyBytes, keyBytes, paddedBytes);
+ resultKey = encProvider().cbcMac(intermediateKey, intermediateKey, originalBytes);
} else {
throw new KrbException("cbcMac should be supported by the provider: "
+ encProvider().getClass());
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/33cde404/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DesKeyMakerTest.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DesKeyMakerTest.java b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DesKeyMakerTest.java
new file mode 100644
index 0000000..3027e6c
--- /dev/null
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/DesKeyMakerTest.java
@@ -0,0 +1,59 @@
+package org.apache.kerberos.kerb.crypto;
+
+import org.apache.kerberos.kerb.crypto.key.DesKeyMaker;
+import org.haox.util.HexUtil;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class DesKeyMakerTest {
+
+ /**
+ * The class used to store the test values
+ */
+ private static class TestCase {
+ String salt;
+ String passwd;
+ String passwdSaltBytes;
+ String fanFoldedKey;
+ String intermediateKey;
+ String finalKey;
+
+ private TestCase(String salt, String passwd, String passwdSaltBytes,
+ String fanFoldedKey, String intermediateKey, String finalKey) {
+ this.salt = salt;
+ this.passwd = passwd;
+ this.passwdSaltBytes = passwdSaltBytes;
+ this.fanFoldedKey = fanFoldedKey;
+ this.intermediateKey = intermediateKey;
+ this.finalKey = finalKey;
+ }
+ }
+
+ /**
+ * Actually do the test
+ */
+ private void test(TestCase tc) {
+ byte[] expectedValue = HexUtil.hex2bytes(tc.passwdSaltBytes);
+ byte[] value = DesKeyMaker.makePasswdSalt(tc.passwd, tc.salt);
+ Assert.assertArrayEquals("PasswdSalt bytes", expectedValue, value);
+
+ expectedValue = HexUtil.hex2bytes(tc.fanFoldedKey);
+ value = DesKeyMaker.fanFold(tc.salt, tc.passwd, null);
+ Assert.assertArrayEquals("FanFold result", expectedValue, value);
+
+ expectedValue = HexUtil.hex2bytes(tc.intermediateKey);
+ value = DesKeyMaker.intermediateKey(value);
+ Assert.assertArrayEquals("IntermediateKey result", expectedValue, value);
+
+ // finalKey check ignored here and it's done in String2keyTest.
+ }
+
+ @Test
+ public void testCase1() {
+ TestCase tc = new TestCase("ATHENA.MIT.EDUraeburn",
+ "password", "70617373776f7264415448454e412e4d49542e4544557261656275726e",
+ "c01e38688ac86c2e", "c11f38688ac86d2f", "cbc22fae235298e3");
+
+ test(tc);
+ }
+}
[2/3] directory-kerberos git commit: Merge branch 'master' into fixdes
Posted by dr...@apache.org.
Merge branch 'master' into fixdes
Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/0ce18e3a
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/0ce18e3a
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/0ce18e3a
Branch: refs/heads/fixdes
Commit: 0ce18e3a426e9617742aee6d7fdba76a6faf58a9
Parents: 3af379b 513a874
Author: Drankye <dr...@gmail.com>
Authored: Wed Jan 14 06:29:58 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Wed Jan 14 06:29:58 2015 +0800
----------------------------------------------------------------------
3rdparty/not-yet-commons-ssl/pom.xml | 149 ++++++++++---------
3rdparty/pom.xml | 53 ++++---
README.md | 17 +++
benchmark/pom.xml | 13 ++
.../kerberos/benchmark/KrbCodecPerfTest.java | 19 +++
contrib/haox-asn1/README.md | 17 +++
contrib/haox-asn1/pom.xml | 13 ++
.../java/org/apache/haox/asn1/Asn1Dump.java | 19 +++
.../java/org/apache/haox/asn1/Asn1Factory.java | 19 +++
.../org/apache/haox/asn1/Asn1InputBuffer.java | 19 +++
.../org/apache/haox/asn1/Asn1OutputBuffer.java | 19 +++
.../org/apache/haox/asn1/EncodingOption.java | 19 +++
.../org/apache/haox/asn1/LimitedByteBuffer.java | 19 +++
.../java/org/apache/haox/asn1/TagClass.java | 19 +++
.../org/apache/haox/asn1/TaggingOption.java | 19 +++
.../java/org/apache/haox/asn1/UniversalTag.java | 19 +++
.../apache/haox/asn1/type/AbstractAsn1Type.java | 19 +++
.../java/org/apache/haox/asn1/type/Asn1Any.java | 19 +++
.../apache/haox/asn1/type/Asn1BigInteger.java | 19 +++
.../apache/haox/asn1/type/Asn1BitString.java | 19 +++
.../apache/haox/asn1/type/Asn1BmpString.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Boolean.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Choice.java | 19 +++
.../apache/haox/asn1/type/Asn1Collection.java | 19 +++
.../apache/haox/asn1/type/Asn1CollectionOf.java | 19 +++
.../haox/asn1/type/Asn1CollectionType.java | 19 +++
.../apache/haox/asn1/type/Asn1FieldInfo.java | 19 +++
.../haox/asn1/type/Asn1GeneralString.java | 19 +++
.../haox/asn1/type/Asn1GeneralizedTime.java | 19 +++
.../apache/haox/asn1/type/Asn1IA5String.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Integer.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Item.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Null.java | 19 +++
.../haox/asn1/type/Asn1NumericsString.java | 19 +++
.../haox/asn1/type/Asn1ObjectIdentifier.java | 19 +++
.../apache/haox/asn1/type/Asn1OctetString.java | 19 +++
.../haox/asn1/type/Asn1PrintableString.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Sequence.java | 19 +++
.../apache/haox/asn1/type/Asn1SequenceOf.java | 19 +++
.../apache/haox/asn1/type/Asn1SequenceType.java | 19 +++
.../java/org/apache/haox/asn1/type/Asn1Set.java | 19 +++
.../org/apache/haox/asn1/type/Asn1SetOf.java | 19 +++
.../org/apache/haox/asn1/type/Asn1SetType.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Simple.java | 19 +++
.../org/apache/haox/asn1/type/Asn1String.java | 19 +++
.../apache/haox/asn1/type/Asn1T61String.java | 19 +++
.../haox/asn1/type/Asn1T61Utf8String.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Tagging.java | 19 +++
.../org/apache/haox/asn1/type/Asn1Type.java | 19 +++
.../haox/asn1/type/Asn1UniversalString.java | 19 +++
.../org/apache/haox/asn1/type/Asn1UtcTime.java | 19 +++
.../apache/haox/asn1/type/Asn1Utf8String.java | 19 +++
.../haox/asn1/type/Asn1VisibleString.java | 19 +++
.../haox/asn1/type/TaggingCollection.java | 19 +++
.../apache/haox/asn1/type/TaggingSequence.java | 19 +++
.../org/apache/haox/asn1/type/TaggingSet.java | 19 +++
.../org/apache/haox/asn1/PersonnelRecord.java | 19 +++
.../org/apache/haox/asn1/TestAsn1Boolean.java | 19 +++
.../apache/haox/asn1/TestAsn1Collection.java | 19 +++
.../org/apache/haox/asn1/TestAsn1Input.java | 19 +++
.../org/apache/haox/asn1/TestAsn1Integer.java | 19 +++
.../haox/asn1/TestAsn1ObjectIdentifier.java | 19 +++
.../org/apache/haox/asn1/TestAsn1UtcTime.java | 19 +++
.../java/org/apache/haox/asn1/TestData.java | 19 +++
.../apache/haox/asn1/TestPersonnelRecord.java | 19 +++
.../apache/haox/asn1/TestTaggingEncoding.java | 19 +++
.../test/java/org/apache/haox/asn1/Util.java | 19 +++
contrib/haox-config/pom.xml | 13 ++
.../main/java/org/apache/haox/config/Conf.java | 19 +++
.../java/org/apache/haox/config/Config.java | 19 +++
.../java/org/apache/haox/config/ConfigImpl.java | 19 +++
.../java/org/apache/haox/config/ConfigKey.java | 19 +++
.../org/apache/haox/config/ConfigLoader.java | 19 +++
.../org/apache/haox/config/ConfigObject.java | 19 +++
.../org/apache/haox/config/IniConfigLoader.java | 19 +++
.../apache/haox/config/JsonConfigLoader.java | 19 +++
.../org/apache/haox/config/MapConfigLoader.java | 19 +++
.../haox/config/PropertiesConfigLoader.java | 19 +++
.../haox/config/PropertiesFileConfigLoader.java | 19 +++
.../java/org/apache/haox/config/Resource.java | 19 +++
.../org/apache/haox/config/XmlConfigLoader.java | 19 +++
.../java/org/apache/haox/config/ConfTest.java | 19 +++
contrib/haox-event/pom.xml | 13 ++
.../apache/haox/event/AbstractEventHandler.java | 19 +++
.../event/AbstractInternalEventHandler.java | 19 +++
.../apache/haox/event/BufferedEventHandler.java | 19 +++
.../java/org/apache/haox/event/Dispatcher.java | 19 +++
.../main/java/org/apache/haox/event/Event.java | 19 +++
.../org/apache/haox/event/EventHandler.java | 19 +++
.../java/org/apache/haox/event/EventHub.java | 19 +++
.../java/org/apache/haox/event/EventType.java | 19 +++
.../java/org/apache/haox/event/EventWaiter.java | 19 +++
.../apache/haox/event/ExecutedEventHandler.java | 19 +++
.../apache/haox/event/InternalEventHandler.java | 19 +++
.../haox/event/LongRunningEventHandler.java | 19 +++
.../org/apache/haox/event/WaitEventHandler.java | 19 +++
.../org/apache/haox/transport/Acceptor.java | 19 +++
.../org/apache/haox/transport/BytesUtil.java | 144 ------------------
.../org/apache/haox/transport/Connector.java | 19 +++
.../apache/haox/transport/MessageHandler.java | 19 +++
.../java/org/apache/haox/transport/Network.java | 19 +++
.../org/apache/haox/transport/Transport.java | 19 +++
.../apache/haox/transport/TransportHandler.java | 19 +++
.../haox/transport/TransportSelector.java | 19 +++
.../haox/transport/buffer/BufferPool.java | 19 +++
.../haox/transport/buffer/BufferUtil.java | 19 +++
.../haox/transport/buffer/RecvBuffer.java | 19 +++
.../haox/transport/buffer/TransBuffer.java | 19 +++
.../haox/transport/event/AddressEvent.java | 19 +++
.../haox/transport/event/MessageEvent.java | 19 +++
.../haox/transport/event/TransportEvent.java | 19 +++
.../transport/event/TransportEventType.java | 19 +++
.../haox/transport/tcp/DecodingCallback.java | 19 +++
.../haox/transport/tcp/StreamingDecoder.java | 19 +++
.../apache/haox/transport/tcp/TcpAcceptor.java | 19 +++
.../haox/transport/tcp/TcpAddressEvent.java | 19 +++
.../apache/haox/transport/tcp/TcpConnector.java | 19 +++
.../apache/haox/transport/tcp/TcpEventType.java | 19 +++
.../apache/haox/transport/tcp/TcpTransport.java | 19 +++
.../haox/transport/tcp/TcpTransportHandler.java | 19 +++
.../apache/haox/transport/udp/UdpAcceptor.java | 19 +++
.../haox/transport/udp/UdpAddressEvent.java | 19 +++
.../haox/transport/udp/UdpChannelEvent.java | 19 +++
.../apache/haox/transport/udp/UdpConnector.java | 19 +++
.../apache/haox/transport/udp/UdpEventType.java | 19 +++
.../apache/haox/transport/udp/UdpTransport.java | 19 +++
.../haox/transport/udp/UdpTransportHandler.java | 19 +++
.../java/org/apache/haox/event/TestBuffer.java | 19 +++
.../haox/event/network/TestNetworkBase.java | 19 +++
.../haox/event/network/TestNetworkClient.java | 19 +++
.../haox/event/network/TestNetworkServer.java | 19 +++
.../org/apache/haox/event/tcp/TestTcpBase.java | 19 +++
.../apache/haox/event/tcp/TestTcpClient.java | 19 +++
.../apache/haox/event/tcp/TestTcpServer.java | 19 +++
.../org/apache/haox/event/udp/TestUdpBase.java | 19 +++
.../apache/haox/event/udp/TestUdpClient.java | 19 +++
.../apache/haox/event/udp/TestUdpServer.java | 19 +++
contrib/haox-pkix/pom.xml | 13 ++
.../src/main/java/org/haox/pki/Pkix.java | 19 +++
.../haox-pkix/src/main/resources/extensions.kdc | 18 ++-
.../src/test/java/org/haox/pki/PkixTest.java | 19 +++
contrib/haox-token/pom.xml | 13 ++
.../java/org/haox/token/AuthzDataEntry.java | 19 +++
.../src/main/java/org/haox/token/KerbToken.java | 19 +++
.../main/java/org/haox/token/TokenCache.java | 19 +++
.../java/org/haox/token/TokenExtractor.java | 19 +++
.../src/main/java/org/haox/token/TokenTool.java | 19 +++
contrib/haox-util/pom.xml | 31 ++++
.../src/main/java/org/haox/util/HexUtil.java | 58 ++++++++
contrib/pom.xml | 14 ++
haox-kdc/kdc-server/pom.xml | 13 ++
.../kerberos/kdc/server/ApacheKdcServer.java | 19 +++
.../org/apache/kerberos/kdc/server/KdcTest.java | 19 +++
haox-kdc/ldap-identity-backend/pom.xml | 13 ++
.../identitybackend/LdapIdentityBackend.java | 19 +++
haox-kdc/pom.xml | 13 ++
haox-kdc/tools/pom.xml | 13 ++
.../java/org/apache/kerberos/tool/Kinit.java | 19 +++
haox-kerb/kerb-client/pom.xml | 13 ++
.../apache/kerberos/kerb/client/KrbClient.java | 19 +++
.../apache/kerberos/kerb/client/KrbConfig.java | 19 +++
.../kerberos/kerb/client/KrbConfigKey.java | 19 +++
.../apache/kerberos/kerb/client/KrbContext.java | 19 +++
.../apache/kerberos/kerb/client/KrbHandler.java | 19 +++
.../apache/kerberos/kerb/client/KrbOption.java | 19 +++
.../apache/kerberos/kerb/client/KrbOptions.java | 19 +++
.../kerb/client/event/KrbClientEvent.java | 19 +++
.../kerb/client/event/KrbClientEventType.java | 19 +++
.../client/preauth/AbstractPreauthPlugin.java | 19 +++
.../kerb/client/preauth/FastContext.java | 19 +++
.../kerb/client/preauth/KrbPreauth.java | 19 +++
.../kerb/client/preauth/PreauthContext.java | 19 +++
.../kerb/client/preauth/PreauthHandle.java | 19 +++
.../kerb/client/preauth/PreauthHandler.java | 19 +++
.../kerb/client/preauth/UserResponseItem.java | 19 +++
.../kerb/client/preauth/UserResponser.java | 19 +++
.../client/preauth/builtin/EncTsPreauth.java | 19 +++
.../kerb/client/preauth/builtin/TgtPreauth.java | 19 +++
.../client/preauth/pkinit/PkinitContext.java | 19 +++
.../client/preauth/pkinit/PkinitPreauth.java | 19 +++
.../preauth/pkinit/PkinitRequestContext.java | 19 +++
.../preauth/pkinit/PkinitRequestOpts.java | 19 +++
.../kerb/client/preauth/token/TokenContext.java | 19 +++
.../kerb/client/preauth/token/TokenPreauth.java | 19 +++
.../preauth/token/TokenRequestContext.java | 19 +++
.../kerberos/kerb/client/request/AsRequest.java | 19 +++
.../kerb/client/request/AsRequestWithCert.java | 19 +++
.../client/request/AsRequestWithPasswd.java | 19 +++
.../kerb/client/request/AsRequestWithToken.java | 19 +++
.../kerb/client/request/KdcRequest.java | 19 +++
.../kerb/client/request/TgsRequest.java | 19 +++
.../kerb-client/src/main/resources/kdc.ldiff | 18 ++-
haox-kerb/kerb-common/pom.xml | 13 ++
.../java/org/apache/kerberos/kerb/KrbThrow.java | 19 +++
.../java/org/apache/kerberos/kerb/Message.java | 19 +++
.../org/apache/kerberos/kerb/MessageCode.java | 19 +++
.../kerberos/kerb/common/EncryptionUtil.java | 19 +++
.../kerberos/kerb/common/KrbConfHelper.java | 19 +++
.../kerberos/kerb/common/KrbErrorUtil.java | 19 +++
.../kerb/common/KrbStreamingDecoder.java | 19 +++
.../apache/kerberos/kerb/common/KrbUtil.java | 19 +++
.../apache/kerberos/kerb/preauth/PaFlag.java | 19 +++
.../apache/kerberos/kerb/preauth/PaFlags.java | 19 +++
.../kerb/preauth/PluginRequestContext.java | 19 +++
.../kerb/preauth/PreauthPluginMeta.java | 19 +++
.../kerb/preauth/builtin/EncTsPreauthMeta.java | 19 +++
.../kerb/preauth/builtin/TgtPreauthMeta.java | 19 +++
.../kerb/preauth/pkinit/IdentityOpts.java | 19 +++
.../kerb/preauth/pkinit/IdentityType.java | 19 +++
.../kerb/preauth/pkinit/PkinitIdenity.java | 19 +++
.../kerb/preauth/pkinit/PkinitPreauthMeta.java | 19 +++
.../kerb/preauth/pkinit/PluginOpts.java | 19 +++
.../kerb/preauth/token/TokenPreauthMeta.java | 19 +++
haox-kerb/kerb-core-test/pom.xml | 13 ++
.../src/main/resources/exceptions.properties | 16 ++
.../kerb/codec/kerberos/AuthzDataUtil.java | 19 +++
.../kerb/codec/kerberos/KerberosApRequest.java | 19 +++
.../kerb/codec/kerberos/KerberosConstants.java | 19 +++
.../codec/kerberos/KerberosCredentials.java | 19 +++
.../kerb/codec/kerberos/KerberosTicket.java | 19 +++
.../kerb/codec/kerberos/KerberosToken.java | 19 +++
.../org/apache/kerberos/kerb/codec/pac/Pac.java | 19 +++
.../kerberos/kerb/codec/pac/PacConstants.java | 19 +++
.../kerb/codec/pac/PacCredentialType.java | 19 +++
.../kerb/codec/pac/PacDataInputStream.java | 19 +++
.../kerberos/kerb/codec/pac/PacGroup.java | 19 +++
.../kerberos/kerb/codec/pac/PacLogonInfo.java | 19 +++
.../apache/kerberos/kerb/codec/pac/PacSid.java | 19 +++
.../kerb/codec/pac/PacSidAttributes.java | 19 +++
.../kerberos/kerb/codec/pac/PacSignature.java | 19 +++
.../kerb/codec/pac/PacUnicodeString.java | 19 +++
.../kerb/codec/spnego/SpnegoConstants.java | 19 +++
.../kerb/codec/spnego/SpnegoInitToken.java | 19 +++
.../kerb/codec/spnego/SpnegoTargToken.java | 19 +++
.../kerberos/kerb/codec/spnego/SpnegoToken.java | 19 +++
.../kerberos/kerb/codec/test/CodecTest.java | 21 ++-
.../kerberos/kerb/codec/test/TestKerberos.java | 19 +++
.../kerberos/kerb/codec/test/TestPac.java | 19 +++
.../kerberos/kerb/codec/test/TestSpnego.java | 19 +++
haox-kerb/kerb-core/pom.xml | 13 ++
.../org/apache/kerberos/kerb/KrbConstant.java | 19 +++
.../org/apache/kerberos/kerb/KrbErrorCode.java | 19 +++
.../apache/kerberos/kerb/KrbErrorException.java | 19 +++
.../org/apache/kerberos/kerb/KrbException.java | 19 +++
.../apache/kerberos/kerb/codec/KrbCodec.java | 19 +++
.../kerberos/kerb/spec/KerberosString.java | 19 +++
.../kerberos/kerb/spec/KerberosStrings.java | 19 +++
.../apache/kerberos/kerb/spec/KerberosTime.java | 19 +++
.../kerberos/kerb/spec/KrbAppSequenceType.java | 19 +++
.../org/apache/kerberos/kerb/spec/KrbEnum.java | 19 +++
.../apache/kerberos/kerb/spec/KrbIntegers.java | 19 +++
.../kerberos/kerb/spec/KrbSequenceOfType.java | 19 +++
.../kerberos/kerb/spec/KrbSequenceType.java | 19 +++
.../apache/kerberos/kerb/spec/ap/ApOption.java | 19 +++
.../apache/kerberos/kerb/spec/ap/ApOptions.java | 19 +++
.../org/apache/kerberos/kerb/spec/ap/ApRep.java | 19 +++
.../org/apache/kerberos/kerb/spec/ap/ApReq.java | 19 +++
.../kerberos/kerb/spec/ap/Authenticator.java | 19 +++
.../kerberos/kerb/spec/ap/EncAPRepPart.java | 19 +++
.../kerberos/kerb/spec/common/AdToken.java | 19 +++
.../kerb/spec/common/AuthorizationData.java | 19 +++
.../spec/common/AuthorizationDataEntry.java | 19 +++
.../kerb/spec/common/AuthorizationType.java | 19 +++
.../kerberos/kerb/spec/common/CheckSum.java | 19 +++
.../kerberos/kerb/spec/common/CheckSumType.java | 19 +++
.../kerb/spec/common/EncryptedData.java | 19 +++
.../kerb/spec/common/EncryptionKey.java | 19 +++
.../kerb/spec/common/EncryptionType.java | 19 +++
.../kerberos/kerb/spec/common/EtypeInfo.java | 19 +++
.../kerberos/kerb/spec/common/EtypeInfo2.java | 19 +++
.../kerb/spec/common/EtypeInfo2Entry.java | 19 +++
.../kerb/spec/common/EtypeInfoEntry.java | 19 +++
.../kerberos/kerb/spec/common/HostAddrType.java | 19 +++
.../kerberos/kerb/spec/common/HostAddress.java | 19 +++
.../kerb/spec/common/HostAddresses.java | 19 +++
.../kerberos/kerb/spec/common/KeyUsage.java | 19 +++
.../kerberos/kerb/spec/common/KrbError.java | 19 +++
.../kerberos/kerb/spec/common/KrbFlags.java | 19 +++
.../kerberos/kerb/spec/common/KrbMessage.java | 19 +++
.../kerb/spec/common/KrbMessageType.java | 19 +++
.../kerberos/kerb/spec/common/KrbToken.java | 19 +++
.../kerb/spec/common/KrbTokenEncoder.java | 19 +++
.../kerberos/kerb/spec/common/LastReq.java | 19 +++
.../kerberos/kerb/spec/common/LastReqEntry.java | 19 +++
.../kerberos/kerb/spec/common/LastReqType.java | 19 +++
.../kerberos/kerb/spec/common/MethodData.java | 19 +++
.../kerberos/kerb/spec/common/NameType.java | 19 +++
.../kerb/spec/common/PrincipalName.java | 19 +++
.../apache/kerberos/kerb/spec/common/Realm.java | 19 +++
.../kerberos/kerb/spec/common/SamType.java | 19 +++
.../kerberos/kerb/spec/common/TokenFormat.java | 19 +++
.../kerb/spec/common/TransitedEncoding.java | 19 +++
.../kerb/spec/common/TransitedEncodingType.java | 19 +++
.../kerberos/kerb/spec/fast/ArmorType.java | 19 +++
.../kerberos/kerb/spec/fast/FastOption.java | 19 +++
.../kerberos/kerb/spec/fast/FastOptions.java | 19 +++
.../kerberos/kerb/spec/fast/KrbFastArmor.java | 19 +++
.../kerb/spec/fast/KrbFastArmoredRep.java | 19 +++
.../kerb/spec/fast/KrbFastArmoredReq.java | 19 +++
.../kerb/spec/fast/KrbFastFinished.java | 19 +++
.../kerberos/kerb/spec/fast/KrbFastReq.java | 19 +++
.../kerb/spec/fast/KrbFastResponse.java | 19 +++
.../kerberos/kerb/spec/fast/PaAuthnEntry.java | 19 +++
.../kerberos/kerb/spec/fast/PaAuthnSet.java | 19 +++
.../kerberos/kerb/spec/fast/PaFxFastReply.java | 19 +++
.../kerb/spec/fast/PaFxFastRequest.java | 19 +++
.../apache/kerberos/kerb/spec/kdc/AsRep.java | 19 +++
.../apache/kerberos/kerb/spec/kdc/AsReq.java | 19 +++
.../kerberos/kerb/spec/kdc/EncAsRepPart.java | 19 +++
.../kerberos/kerb/spec/kdc/EncKdcRepPart.java | 19 +++
.../kerberos/kerb/spec/kdc/EncTgsRepPart.java | 19 +++
.../kerberos/kerb/spec/kdc/KdcOption.java | 19 +++
.../kerberos/kerb/spec/kdc/KdcOptions.java | 19 +++
.../apache/kerberos/kerb/spec/kdc/KdcRep.java | 19 +++
.../apache/kerberos/kerb/spec/kdc/KdcReq.java | 19 +++
.../kerberos/kerb/spec/kdc/KdcReqBody.java | 19 +++
.../apache/kerberos/kerb/spec/kdc/TgsRep.java | 19 +++
.../apache/kerberos/kerb/spec/kdc/TgsReq.java | 19 +++
.../kerb/spec/pa/PaAuthenticationSet.java | 19 +++
.../kerb/spec/pa/PaAuthenticationSetElem.java | 19 +++
.../apache/kerberos/kerb/spec/pa/PaData.java | 19 +++
.../kerberos/kerb/spec/pa/PaDataEntry.java | 19 +++
.../kerberos/kerb/spec/pa/PaDataType.java | 19 +++
.../kerberos/kerb/spec/pa/PaEncTsEnc.java | 19 +++
.../kerberos/kerb/spec/pa/otp/OtpTokenInfo.java | 19 +++
.../kerb/spec/pa/otp/PaOtpChallenge.java | 19 +++
.../spec/pa/pkinit/AdInitialVerifiedCas.java | 19 +++
.../spec/pa/pkinit/AlgorithmIdentifiers.java | 19 +++
.../kerberos/kerb/spec/pa/pkinit/AuthPack.java | 19 +++
.../kerberos/kerb/spec/pa/pkinit/DHNonce.java | 19 +++
.../kerberos/kerb/spec/pa/pkinit/DHRepInfo.java | 19 +++
.../pa/pkinit/ExternalPrincipalIdentifier.java | 19 +++
.../kerb/spec/pa/pkinit/KdcDHKeyInfo.java | 19 +++
.../kerb/spec/pa/pkinit/Krb5PrincipalName.java | 19 +++
.../kerberos/kerb/spec/pa/pkinit/PaPkAsRep.java | 19 +++
.../kerberos/kerb/spec/pa/pkinit/PaPkAsReq.java | 19 +++
.../kerb/spec/pa/pkinit/PkAuthenticator.java | 19 +++
.../kerb/spec/pa/pkinit/ReplyKeyPack.java | 19 +++
.../kerb/spec/pa/pkinit/TdDhParameters.java | 19 +++
.../kerb/spec/pa/pkinit/TrustedCertifiers.java | 19 +++
.../kerb/spec/pa/token/PaTokenChallenge.java | 19 +++
.../kerb/spec/pa/token/PaTokenRequest.java | 19 +++
.../kerberos/kerb/spec/pa/token/TokenFlag.java | 19 +++
.../kerberos/kerb/spec/pa/token/TokenFlags.java | 19 +++
.../kerberos/kerb/spec/pa/token/TokenInfo.java | 19 +++
.../kerberos/kerb/spec/pa/token/TokenInfos.java | 19 +++
.../kerb/spec/ticket/AbstractServiceTicket.java | 19 +++
.../kerb/spec/ticket/EncTicketPart.java | 19 +++
.../kerb/spec/ticket/ServiceTicket.java | 19 +++
.../kerberos/kerb/spec/ticket/TgtTicket.java | 19 +++
.../kerberos/kerb/spec/ticket/Ticket.java | 19 +++
.../kerberos/kerb/spec/ticket/TicketFlag.java | 19 +++
.../kerberos/kerb/spec/ticket/TicketFlags.java | 19 +++
.../kerberos/kerb/spec/ticket/Tickets.java | 19 +++
.../kerb/spec/x509/AlgorithmIdentifier.java | 19 +++
.../kerb/spec/x509/SubjectPublicKeyInfo.java | 19 +++
haox-kerb/kerb-crypto/pom.xml | 15 +-
.../kerb/crypto/AbstractCryptoTypeHandler.java | 19 +++
.../apache/kerberos/kerb/crypto/BytesUtil.java | 39 +++++
.../apache/kerberos/kerb/crypto/Camellia.java | 25 +++-
.../kerberos/kerb/crypto/CamelliaKey.java | 19 +++
.../kerberos/kerb/crypto/CheckSumHandler.java | 19 +++
.../kerb/crypto/CheckSumTypeHandler.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Cmac.java | 27 +++-
.../apache/kerberos/kerb/crypto/Confounder.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Crc32.java | 19 +++
.../kerberos/kerb/crypto/CryptoTypeHandler.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Des.java | 19 +++
.../kerberos/kerb/crypto/EncTypeHandler.java | 19 +++
.../kerberos/kerb/crypto/EncryptionHandler.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Hmac.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Md4.java | 10 +-
.../org/apache/kerberos/kerb/crypto/Nfold.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Nonce.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Pbkdf.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Random.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Rc4.java | 19 +++
.../org/apache/kerberos/kerb/crypto/Util.java | 24 ---
.../cksum/AbstractCheckSumTypeHandler.java | 19 +++
.../cksum/AbstractKeyedCheckSumTypeHandler.java | 19 +++
.../crypto/cksum/CmacCamellia128CheckSum.java | 19 +++
.../crypto/cksum/CmacCamellia256CheckSum.java | 19 +++
.../kerb/crypto/cksum/CmacKcCheckSum.java | 19 +++
.../crypto/cksum/ConfounderedDesCheckSum.java | 19 +++
.../kerb/crypto/cksum/Crc32CheckSum.java | 19 +++
.../kerb/crypto/cksum/DesCbcCheckSum.java | 19 +++
.../kerb/crypto/cksum/HashProvider.java | 19 +++
.../kerb/crypto/cksum/HmacKcCheckSum.java | 19 +++
.../kerb/crypto/cksum/HmacMd5Rc4CheckSum.java | 19 +++
.../crypto/cksum/HmacSha1Aes128CheckSum.java | 19 +++
.../crypto/cksum/HmacSha1Aes256CheckSum.java | 19 +++
.../kerb/crypto/cksum/HmacSha1Des3CheckSum.java | 19 +++
.../kerberos/kerb/crypto/cksum/KcCheckSum.java | 19 +++
.../kerb/crypto/cksum/Md5HmacRc4CheckSum.java | 19 +++
.../kerb/crypto/cksum/RsaMd4CheckSum.java | 19 +++
.../kerb/crypto/cksum/RsaMd4DesCheckSum.java | 19 +++
.../kerb/crypto/cksum/RsaMd5CheckSum.java | 19 +++
.../kerb/crypto/cksum/RsaMd5DesCheckSum.java | 19 +++
.../kerb/crypto/cksum/Sha1CheckSum.java | 19 +++
.../cksum/provider/AbstractHashProvider.java | 19 +++
.../AbstractUnkeyedCheckSumTypeHandler.java | 19 +++
.../crypto/cksum/provider/Crc32Provider.java | 19 +++
.../kerb/crypto/cksum/provider/Md4Provider.java | 19 +++
.../kerb/crypto/cksum/provider/Md5Provider.java | 19 +++
.../provider/MessageDigestHashProvider.java | 19 +++
.../crypto/cksum/provider/Sha1Provider.java | 19 +++
.../kerb/crypto/enc/AbstractEncTypeHandler.java | 19 +++
.../kerb/crypto/enc/Aes128CtsHmacSha1Enc.java | 19 +++
.../kerb/crypto/enc/Aes256CtsHmacSha1Enc.java | 19 +++
.../kerb/crypto/enc/Camellia128CtsCmacEnc.java | 19 +++
.../kerb/crypto/enc/Camellia256CtsCmacEnc.java | 19 +++
.../kerb/crypto/enc/Des3CbcSha1Enc.java | 19 +++
.../kerberos/kerb/crypto/enc/DesCbcCrcEnc.java | 19 +++
.../kerberos/kerb/crypto/enc/DesCbcEnc.java | 19 +++
.../kerberos/kerb/crypto/enc/DesCbcMd4Enc.java | 19 +++
.../kerberos/kerb/crypto/enc/DesCbcMd5Enc.java | 19 +++
.../kerb/crypto/enc/EncryptProvider.java | 19 +++
.../kerberos/kerb/crypto/enc/KeKiCmacEnc.java | 19 +++
.../kerberos/kerb/crypto/enc/KeKiEnc.java | 19 +++
.../kerb/crypto/enc/KeKiHmacSha1Enc.java | 19 +++
.../kerberos/kerb/crypto/enc/Rc4HmacEnc.java | 19 +++
.../kerberos/kerb/crypto/enc/Rc4HmacExpEnc.java | 19 +++
.../enc/provider/AbstractEncryptProvider.java | 19 +++
.../crypto/enc/provider/Aes128Provider.java | 19 +++
.../crypto/enc/provider/Aes256Provider.java | 19 +++
.../kerb/crypto/enc/provider/AesProvider.java | 19 +++
.../enc/provider/Camellia128Provider.java | 19 +++
.../enc/provider/Camellia256Provider.java | 19 +++
.../crypto/enc/provider/CamelliaProvider.java | 19 +++
.../kerb/crypto/enc/provider/Des3Provider.java | 19 +++
.../kerb/crypto/enc/provider/DesProvider.java | 19 +++
.../kerb/crypto/enc/provider/Rc4Provider.java | 19 +++
.../kerb/crypto/key/AbstractKeyMaker.java | 19 +++
.../kerberos/kerb/crypto/key/AesKeyMaker.java | 19 +++
.../kerb/crypto/key/CamelliaKeyMaker.java | 19 +++
.../kerberos/kerb/crypto/key/Des3KeyMaker.java | 19 +++
.../kerberos/kerb/crypto/key/DesKeyMaker.java | 22 ++-
.../kerberos/kerb/crypto/key/DkKeyMaker.java | 19 +++
.../kerberos/kerb/crypto/key/KeyMaker.java | 19 +++
.../kerberos/kerb/crypto/key/Rc4KeyMaker.java | 19 +++
.../kerb-crypto/src/main/resources/kdc.ldiff | 18 ++-
.../kerberos/kerb/crypto/CamelliaEncTest.java | 22 ++-
.../kerberos/kerb/crypto/CheckSumTest.java | 22 ++-
.../kerberos/kerb/crypto/CheckSumsTest.java | 24 ++-
.../apache/kerberos/kerb/crypto/CmacTest.java | 32 +++-
.../apache/kerberos/kerb/crypto/Crc32Test.java | 22 ++-
.../kerberos/kerb/crypto/DecryptionTest.java | 7 +-
.../kerberos/kerb/crypto/KeyDeriveTest.java | 28 +++-
.../kerberos/kerb/crypto/String2keyTest.java | 26 +++-
.../apache/kerberos/kerb/crypto/TestUtil.java | 39 -----
haox-kerb/kerb-identity/pom.xml | 13 ++
.../kerberos/kerb/identity/Attribute.java | 19 +++
.../kerb/identity/ComplexAttribute.java | 19 +++
.../apache/kerberos/kerb/identity/Identity.java | 19 +++
.../kerberos/kerb/identity/IdentityService.java | 19 +++
.../kerberos/kerb/identity/KrbAttributes.java | 19 +++
.../kerberos/kerb/identity/KrbIdentity.java | 19 +++
.../kerberos/kerb/identity/SimpleAttribute.java | 19 +++
.../backend/AbstractIdentityBackend.java | 19 +++
.../backend/InMemoryIdentityBackend.java | 19 +++
.../identity/backend/SimpleIdentityBackend.java | 19 +++
haox-kerb/kerb-kdc-test/pom.xml | 13 ++
.../kerberos/kerb/server/TestKdcServer.java | 19 +++
.../src/main/resources/extensions.kdc | 18 ++-
.../kerb-kdc-test/src/main/resources/kdc.ldiff | 18 ++-
.../apache/kerberos/kerb/server/KdcTest.java | 19 +++
.../kerberos/kerb/server/KdcTestBase.java | 19 +++
.../kerberos/kerb/server/WithCertKdcTest.java | 19 +++
.../kerberos/kerb/server/WithTokenKdcTest.java | 19 +++
haox-kerb/kerb-server/pom.xml | 13 ++
.../apache/kerberos/kerb/server/KdcConfig.java | 19 +++
.../kerberos/kerb/server/KdcConfigKey.java | 19 +++
.../apache/kerberos/kerb/server/KdcContext.java | 19 +++
.../apache/kerberos/kerb/server/KdcHandler.java | 19 +++
.../apache/kerberos/kerb/server/KdcServer.java | 19 +++
.../kerberos/kerb/server/SimpleKdcServer.java | 19 +++
.../server/preauth/AbstractPreauthPlugin.java | 19 +++
.../kerb/server/preauth/FastContext.java | 19 +++
.../kerb/server/preauth/KdcPreauth.java | 19 +++
.../kerb/server/preauth/PreauthContext.java | 19 +++
.../kerb/server/preauth/PreauthHandle.java | 19 +++
.../kerb/server/preauth/PreauthHandler.java | 19 +++
.../server/preauth/builtin/EncTsPreauth.java | 19 +++
.../kerb/server/preauth/builtin/TgtPreauth.java | 19 +++
.../server/preauth/pkinit/PkinitKdcContext.java | 19 +++
.../server/preauth/pkinit/PkinitPreauth.java | 19 +++
.../preauth/pkinit/PkinitRequestContext.java | 19 +++
.../preauth/token/TokenRequestContext.java | 19 +++
.../kerb/server/replay/CacheService.java | 19 +++
.../kerb/server/replay/ReplayCheckService.java | 19 +++
.../server/replay/ReplayCheckServiceImpl.java | 19 +++
.../kerb/server/replay/RequestRecord.java | 19 +++
.../kerb/server/replay/SimpleCacheService.java | 19 +++
.../kerberos/kerb/server/request/AsRequest.java | 19 +++
.../kerb/server/request/KdcRequest.java | 19 +++
.../kerb/server/request/TgsRequest.java | 19 +++
.../apache/kerberos/kerb/server/KdcTest.java | 19 +++
haox-kerb/kerb-util/pom.xml | 13 ++
.../apache/kerberos/kerb/KrbInputStream.java | 19 +++
.../apache/kerberos/kerb/KrbOutputStream.java | 19 +++
.../kerb/ccache/CredCacheInputStream.java | 19 +++
.../kerb/ccache/CredCacheOutputStream.java | 19 +++
.../apache/kerberos/kerb/ccache/Credential.java | 19 +++
.../kerberos/kerb/ccache/CredentialCache.java | 19 +++
.../kerb/ccache/KrbCredentialCache.java | 19 +++
.../org/apache/kerberos/kerb/ccache/Tag.java | 19 +++
.../org/apache/kerberos/kerb/keytab/Keytab.java | 19 +++
.../kerberos/kerb/keytab/KeytabEntry.java | 19 +++
.../kerberos/kerb/keytab/KeytabInputStream.java | 19 +++
.../kerb/keytab/KeytabOutputStream.java | 19 +++
.../apache/kerberos/kerb/keytab/KrbKeytab.java | 19 +++
.../apache/kerberos/kerb/util/CcacheTest.java | 19 +++
.../kerberos/kerb/util/EncryptionTest.java | 19 +++
.../org/apache/kerberos/kerb/util/KeysTest.java | 19 +++
.../apache/kerberos/kerb/util/KeytabTest.java | 19 +++
haox-kerb/pom.xml | 13 ++
pom.xml | 13 ++
517 files changed, 9771 insertions(+), 337 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0ce18e3a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/EncryptionHandler.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0ce18e3a/haox-kerb/kerb-crypto/src/main/java/org/apache/kerberos/kerb/crypto/key/DesKeyMaker.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/0ce18e3a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
----------------------------------------------------------------------
diff --cc haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
index 3b84e49,e5f195c..0445ed2
--- a/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
+++ b/haox-kerb/kerb-crypto/src/test/java/org/apache/kerberos/kerb/crypto/String2keyTest.java
@@@ -422,10 -442,10 +442,10 @@@ public class String2keyTest
EncryptionKey outkey = EncryptionHandler.string2Key(tc.string, tc.salt, params, tc.encType);
if (! Arrays.equals(answer, outkey.getKeyData())) {
System.err.println("failed with:");
- System.err.println("outKey:" + TestUtil.bytesToHex(outkey.getKeyData()));
+ System.err.println("outKey:" + HexUtil.bytesToHex(outkey.getKeyData()));
System.err.println("answer:" + tc.answer);
// Will un-comment below when passed all the tests.
- //return false;
+ return false;
}
return true;
}