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/22 22:48:24 UTC
[45/45] directory-kerberos git commit: DIRKRB-149 New layout
structure with the new name "Apache Kerby"
DIRKRB-149 New layout structure with the new name "Apache Kerby"
Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/ceacb982
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/ceacb982
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/ceacb982
Branch: refs/heads/master
Commit: ceacb982d01016b58fd17065da1ed5f43856f05b
Parents: 3558a6b
Author: Drankye <dr...@gmail.com>
Authored: Fri Jan 23 13:41:07 2015 +0800
Committer: Drankye <dr...@gmail.com>
Committed: Fri Jan 23 13:41:07 2015 +0800
----------------------------------------------------------------------
3rdparty/not-yet-commons-ssl/pom.xml | 2 +-
3rdparty/pom.xml | 4 +-
benchmark/pom.xml | 212 ++--
.../kerberos/benchmark/KrbCodecPerfTest.java | 79 --
.../kerberos/benchmark/KrbCodecPerfTest.java | 79 ++
contrib/haox-asn1/README.md | 301 -----
contrib/haox-asn1/pom.xml | 27 -
.../java/org/apache/haox/asn1/Asn1Dump.java | 70 --
.../java/org/apache/haox/asn1/Asn1Factory.java | 44 -
.../org/apache/haox/asn1/Asn1InputBuffer.java | 82 --
.../org/apache/haox/asn1/Asn1OutputBuffer.java | 72 --
.../org/apache/haox/asn1/EncodingOption.java | 84 --
.../org/apache/haox/asn1/LimitedByteBuffer.java | 121 --
.../java/org/apache/haox/asn1/TagClass.java | 74 --
.../org/apache/haox/asn1/TaggingOption.java | 68 --
.../java/org/apache/haox/asn1/UniversalTag.java | 106 --
.../apache/haox/asn1/type/AbstractAsn1Type.java | 420 -------
.../java/org/apache/haox/asn1/type/Asn1Any.java | 47 -
.../apache/haox/asn1/type/Asn1BigInteger.java | 48 -
.../apache/haox/asn1/type/Asn1BitString.java | 86 --
.../apache/haox/asn1/type/Asn1BmpString.java | 72 --
.../org/apache/haox/asn1/type/Asn1Boolean.java | 71 --
.../org/apache/haox/asn1/type/Asn1Choice.java | 173 ---
.../apache/haox/asn1/type/Asn1Collection.java | 137 ---
.../apache/haox/asn1/type/Asn1CollectionOf.java | 88 --
.../haox/asn1/type/Asn1CollectionType.java | 195 ----
.../apache/haox/asn1/type/Asn1FieldInfo.java | 76 --
.../haox/asn1/type/Asn1GeneralString.java | 33 -
.../haox/asn1/type/Asn1GeneralizedTime.java | 134 ---
.../apache/haox/asn1/type/Asn1IA5String.java | 33 -
.../org/apache/haox/asn1/type/Asn1Integer.java | 46 -
.../org/apache/haox/asn1/type/Asn1Item.java | 155 ---
.../org/apache/haox/asn1/type/Asn1Null.java | 52 -
.../haox/asn1/type/Asn1NumericsString.java | 50 -
.../haox/asn1/type/Asn1ObjectIdentifier.java | 164 ---
.../apache/haox/asn1/type/Asn1OctetString.java | 51 -
.../haox/asn1/type/Asn1PrintableString.java | 33 -
.../org/apache/haox/asn1/type/Asn1Sequence.java | 30 -
.../apache/haox/asn1/type/Asn1SequenceOf.java | 38 -
.../apache/haox/asn1/type/Asn1SequenceType.java | 37 -
.../java/org/apache/haox/asn1/type/Asn1Set.java | 30 -
.../org/apache/haox/asn1/type/Asn1SetOf.java | 30 -
.../org/apache/haox/asn1/type/Asn1SetType.java | 37 -
.../org/apache/haox/asn1/type/Asn1Simple.java | 184 ----
.../org/apache/haox/asn1/type/Asn1String.java | 292 -----
.../apache/haox/asn1/type/Asn1T61String.java | 33 -
.../haox/asn1/type/Asn1T61Utf8String.java | 43 -
.../org/apache/haox/asn1/type/Asn1Tagging.java | 104 --
.../org/apache/haox/asn1/type/Asn1Type.java | 41 -
.../haox/asn1/type/Asn1UniversalString.java | 33 -
.../org/apache/haox/asn1/type/Asn1UtcTime.java | 89 --
.../apache/haox/asn1/type/Asn1Utf8String.java | 47 -
.../haox/asn1/type/Asn1VisibleString.java | 33 -
.../haox/asn1/type/TaggingCollection.java | 105 --
.../apache/haox/asn1/type/TaggingSequence.java | 35 -
.../org/apache/haox/asn1/type/TaggingSet.java | 35 -
.../org/apache/haox/asn1/PersonnelRecord.java | 209 ----
.../org/apache/haox/asn1/TestAsn1Boolean.java | 56 -
.../apache/haox/asn1/TestAsn1Collection.java | 55 -
.../org/apache/haox/asn1/TestAsn1Input.java | 35 -
.../org/apache/haox/asn1/TestAsn1Integer.java | 70 --
.../haox/asn1/TestAsn1ObjectIdentifier.java | 64 --
.../org/apache/haox/asn1/TestAsn1UtcTime.java | 70 --
.../java/org/apache/haox/asn1/TestData.java | 129 ---
.../apache/haox/asn1/TestPersonnelRecord.java | 126 ---
.../apache/haox/asn1/TestTaggingEncoding.java | 205 ----
.../test/java/org/apache/haox/asn1/Util.java | 72 --
contrib/haox-config/README | 1 -
contrib/haox-config/pom.xml | 35 -
.../main/java/org/apache/haox/config/Conf.java | 285 -----
.../java/org/apache/haox/config/Config.java | 58 -
.../java/org/apache/haox/config/ConfigImpl.java | 346 ------
.../java/org/apache/haox/config/ConfigKey.java | 25 -
.../org/apache/haox/config/ConfigLoader.java | 50 -
.../org/apache/haox/config/ConfigObject.java | 80 --
.../org/apache/haox/config/IniConfigLoader.java | 69 --
.../apache/haox/config/JsonConfigLoader.java | 27 -
.../org/apache/haox/config/MapConfigLoader.java | 34 -
.../haox/config/PropertiesConfigLoader.java | 43 -
.../haox/config/PropertiesFileConfigLoader.java | 33 -
.../java/org/apache/haox/config/Resource.java | 119 --
.../org/apache/haox/config/XmlConfigLoader.java | 159 ---
.../java/org/apache/haox/config/ConfTest.java | 135 ---
.../org/apache/haox/config/ConfigImplTest.java | 62 --
.../org/apache/haox/config/IniConfigTest.java | 76 --
contrib/haox-event/README | 1 -
contrib/haox-event/pom.xml | 31 -
.../apache/haox/event/AbstractEventHandler.java | 55 -
.../event/AbstractInternalEventHandler.java | 66 --
.../apache/haox/event/BufferedEventHandler.java | 53 -
.../java/org/apache/haox/event/Dispatcher.java | 29 -
.../main/java/org/apache/haox/event/Event.java | 43 -
.../org/apache/haox/event/EventHandler.java | 31 -
.../java/org/apache/haox/event/EventHub.java | 192 ----
.../java/org/apache/haox/event/EventType.java | 24 -
.../java/org/apache/haox/event/EventWaiter.java | 35 -
.../apache/haox/event/ExecutedEventHandler.java | 76 --
.../apache/haox/event/InternalEventHandler.java | 34 -
.../haox/event/LongRunningEventHandler.java | 77 --
.../org/apache/haox/event/WaitEventHandler.java | 128 ---
.../org/apache/haox/transport/Acceptor.java | 36 -
.../org/apache/haox/transport/Connector.java | 36 -
.../apache/haox/transport/MessageHandler.java | 42 -
.../java/org/apache/haox/transport/Network.java | 297 -----
.../org/apache/haox/transport/Transport.java | 84 --
.../apache/haox/transport/TransportHandler.java | 34 -
.../haox/transport/TransportSelector.java | 100 --
.../haox/transport/buffer/BufferPool.java | 33 -
.../haox/transport/buffer/BufferUtil.java | 42 -
.../haox/transport/buffer/RecvBuffer.java | 155 ---
.../haox/transport/buffer/TransBuffer.java | 49 -
.../haox/transport/event/AddressEvent.java | 39 -
.../haox/transport/event/MessageEvent.java | 41 -
.../haox/transport/event/TransportEvent.java | 56 -
.../transport/event/TransportEventType.java | 29 -
.../haox/transport/tcp/DecodingCallback.java | 38 -
.../haox/transport/tcp/StreamingDecoder.java | 26 -
.../apache/haox/transport/tcp/TcpAcceptor.java | 112 --
.../haox/transport/tcp/TcpAddressEvent.java | 36 -
.../apache/haox/transport/tcp/TcpConnector.java | 94 --
.../apache/haox/transport/tcp/TcpEventType.java | 27 -
.../apache/haox/transport/tcp/TcpTransport.java | 110 --
.../haox/transport/tcp/TcpTransportHandler.java | 77 --
.../apache/haox/transport/udp/UdpAcceptor.java | 84 --
.../haox/transport/udp/UdpAddressEvent.java | 36 -
.../haox/transport/udp/UdpChannelEvent.java | 47 -
.../apache/haox/transport/udp/UdpConnector.java | 76 --
.../apache/haox/transport/udp/UdpEventType.java | 29 -
.../apache/haox/transport/udp/UdpTransport.java | 65 --
.../haox/transport/udp/UdpTransportHandler.java | 109 --
.../java/org/apache/haox/event/TestBuffer.java | 50 -
.../haox/event/network/TestNetworkBase.java | 58 -
.../haox/event/network/TestNetworkClient.java | 212 ----
.../haox/event/network/TestNetworkServer.java | 110 --
.../org/apache/haox/event/tcp/TestTcpBase.java | 57 -
.../apache/haox/event/tcp/TestTcpClient.java | 160 ---
.../apache/haox/event/tcp/TestTcpServer.java | 90 --
.../org/apache/haox/event/udp/TestUdpBase.java | 41 -
.../apache/haox/event/udp/TestUdpClient.java | 149 ---
.../apache/haox/event/udp/TestUdpServer.java | 89 --
contrib/haox-pkix/pom.xml | 38 -
.../src/main/java/org/haox/pki/Pkix.java | 87 --
contrib/haox-pkix/src/main/resources/cacert.pem | 23 -
contrib/haox-pkix/src/main/resources/cakey.pem | 27 -
.../haox-pkix/src/main/resources/extensions.kdc | 36 -
.../haox-pkix/src/main/resources/kdccert.pem | 26 -
contrib/haox-pkix/src/main/resources/kdckey.pem | 27 -
.../haox-pkix/src/main/resources/usercert.pem | 26 -
.../haox-pkix/src/main/resources/userkey.pem | 27 -
.../src/test/java/org/haox/pki/PkixTest.java | 60 -
contrib/haox-token/pom.xml | 44 -
.../java/org/haox/token/AuthzDataEntry.java | 52 -
.../src/main/java/org/haox/token/KerbToken.java | 47 -
.../main/java/org/haox/token/TokenCache.java | 82 --
.../java/org/haox/token/TokenExtractor.java | 101 --
.../src/main/java/org/haox/token/TokenTool.java | 124 ---
contrib/haox-util/pom.xml | 31 -
.../src/main/java/org/haox/util/HexUtil.java | 58 -
contrib/pom.xml | 46 -
haox-kdc/README | 5 -
haox-kdc/kdc-server/pom.xml | 56 -
.../kerberos/kdc/server/ApacheKdcServer.java | 41 -
.../org/apache/kerberos/kdc/server/KdcTest.java | 70 --
haox-kdc/ldap-identity-backend/pom.xml | 41 -
.../identitybackend/LdapIdentityBackend.java | 77 --
haox-kdc/pom.xml | 34 -
haox-kdc/tools/pom.xml | 46 -
.../java/org/apache/kerberos/tool/Kinit.java | 42 -
haox-kerb/README | 2 -
haox-kerb/kerb-client/pom.xml | 61 --
.../apache/kerberos/kerb/client/KrbClient.java | 321 ------
.../apache/kerberos/kerb/client/KrbConfig.java | 161 ---
.../kerberos/kerb/client/KrbConfigKey.java | 101 --
.../apache/kerberos/kerb/client/KrbContext.java | 97 --
.../apache/kerberos/kerb/client/KrbHandler.java | 99 --
.../apache/kerberos/kerb/client/KrbOption.java | 91 --
.../apache/kerberos/kerb/client/KrbOptions.java | 96 --
.../kerb/client/event/KrbClientEvent.java | 43 -
.../kerb/client/event/KrbClientEventType.java | 29 -
.../client/preauth/AbstractPreauthPlugin.java | 122 ---
.../kerb/client/preauth/FastContext.java | 36 -
.../kerb/client/preauth/KrbPreauth.java | 107 --
.../kerb/client/preauth/PreauthContext.java | 108 --
.../kerb/client/preauth/PreauthHandle.java | 72 --
.../kerb/client/preauth/PreauthHandler.java | 249 -----
.../kerb/client/preauth/UserResponseItem.java | 31 -
.../kerb/client/preauth/UserResponser.java | 77 --
.../client/preauth/builtin/EncTsPreauth.java | 94 --
.../kerb/client/preauth/builtin/TgtPreauth.java | 66 --
.../client/preauth/pkinit/PkinitContext.java | 30 -
.../client/preauth/pkinit/PkinitPreauth.java | 233 ----
.../preauth/pkinit/PkinitRequestContext.java | 44 -
.../preauth/pkinit/PkinitRequestOpts.java | 40 -
.../kerb/client/preauth/token/TokenContext.java | 28 -
.../kerb/client/preauth/token/TokenPreauth.java | 124 ---
.../preauth/token/TokenRequestContext.java | 32 -
.../kerberos/kerb/client/request/AsRequest.java | 127 ---
.../kerb/client/request/AsRequestWithCert.java | 57 -
.../client/request/AsRequestWithPasswd.java | 50 -
.../kerb/client/request/AsRequestWithToken.java | 52 -
.../kerb/client/request/KdcRequest.java | 358 ------
.../kerb/client/request/TgsRequest.java | 136 ---
.../src/main/resources/kdc-krb5.conf | 25 -
.../kerb-client/src/main/resources/kdc.ldiff | 46 -
.../kerb-client/src/main/resources/krb5.conf | 57 -
.../kerberos/kerb/client/TestKrbConfigLoad.java | 71 --
haox-kerb/kerb-common/pom.xml | 51 -
.../java/org/apache/kerberos/kerb/KrbThrow.java | 35 -
.../java/org/apache/kerberos/kerb/Message.java | 43 -
.../org/apache/kerberos/kerb/MessageCode.java | 24 -
.../kerberos/kerb/common/EncryptionUtil.java | 98 --
.../kerberos/kerb/common/KrbConfHelper.java | 104 --
.../kerberos/kerb/common/KrbErrorUtil.java | 67 --
.../kerb/common/KrbStreamingDecoder.java | 42 -
.../apache/kerberos/kerb/common/KrbUtil.java | 49 -
.../kerberos/kerb/common/SectionConfigKey.java | 31 -
.../apache/kerberos/kerb/preauth/PaFlag.java | 49 -
.../apache/kerberos/kerb/preauth/PaFlags.java | 37 -
.../kerb/preauth/PluginRequestContext.java | 27 -
.../kerb/preauth/PreauthPluginMeta.java | 32 -
.../kerb/preauth/builtin/EncTsPreauthMeta.java | 45 -
.../kerb/preauth/builtin/TgtPreauthMeta.java | 48 -
.../kerb/preauth/pkinit/IdentityOpts.java | 44 -
.../kerb/preauth/pkinit/IdentityType.java | 29 -
.../kerb/preauth/pkinit/PkinitIdenity.java | 128 ---
.../kerb/preauth/pkinit/PkinitPreauthMeta.java | 46 -
.../kerb/preauth/pkinit/PluginOpts.java | 67 --
.../kerb/preauth/token/TokenPreauthMeta.java | 46 -
haox-kerb/kerb-core-test/pom.xml | 46 -
.../src/main/resources/aes128-kerberos-data | Bin 1712 -> 0 bytes
.../src/main/resources/aes128-key-data | 1 -
.../src/main/resources/aes128-spnego-data | Bin 1778 -> 0 bytes
.../src/main/resources/aes256-kerberos-data | Bin 1744 -> 0 bytes
.../src/main/resources/aes256-key-data | Bin 32 -> 0 bytes
.../src/main/resources/aes256-spnego-data | Bin 1810 -> 0 bytes
.../src/main/resources/asrep.token | Bin 1241 -> 0 bytes
.../src/main/resources/asreq.token | Bin 291 -> 0 bytes
.../src/main/resources/des-kerberos-data | Bin 1773 -> 0 bytes
.../src/main/resources/des-key-data | 1 -
.../src/main/resources/des-pac-data | Bin 1072 -> 0 bytes
.../src/main/resources/des-spnego-data | Bin 1839 -> 0 bytes
.../src/main/resources/exceptions.properties | 55 -
.../src/main/resources/rc4-kerberos-data | Bin 1735 -> 0 bytes
.../src/main/resources/rc4-key-data | 1 -
.../src/main/resources/rc4-pac-data | Bin 1048 -> 0 bytes
.../src/main/resources/rc4-spnego-data | Bin 1801 -> 0 bytes
.../src/main/resources/server.keytab | Bin 387 -> 0 bytes
.../src/main/resources/tgsrep.token | Bin 1189 -> 0 bytes
.../src/main/resources/tgsreq.token | Bin 1211 -> 0 bytes
.../org/apache/kerberos/kerb/codec/README.txt | 5 -
.../kerb/codec/kerberos/AuthzDataUtil.java | 67 --
.../kerb/codec/kerberos/KerberosApRequest.java | 51 -
.../kerb/codec/kerberos/KerberosConstants.java | 44 -
.../codec/kerberos/KerberosCredentials.java | 55 -
.../kerb/codec/kerberos/KerberosTicket.java | 86 --
.../kerb/codec/kerberos/KerberosToken.java | 58 -
.../org/apache/kerberos/kerb/codec/pac/Pac.java | 113 --
.../kerberos/kerb/codec/pac/PacConstants.java | 39 -
.../kerb/codec/pac/PacCredentialType.java | 41 -
.../kerb/codec/pac/PacDataInputStream.java | 158 ---
.../kerberos/kerb/codec/pac/PacGroup.java | 41 -
.../kerberos/kerb/codec/pac/PacLogonInfo.java | 322 ------
.../apache/kerberos/kerb/codec/pac/PacSid.java | 130 ---
.../kerb/codec/pac/PacSidAttributes.java | 41 -
.../kerberos/kerb/codec/pac/PacSignature.java | 52 -
.../kerb/codec/pac/PacUnicodeString.java | 61 --
.../kerb/codec/spnego/SpnegoConstants.java | 31 -
.../kerb/codec/spnego/SpnegoInitToken.java | 53 -
.../kerb/codec/spnego/SpnegoTargToken.java | 41 -
.../kerberos/kerb/codec/spnego/SpnegoToken.java | 67 --
.../kerberos/kerb/codec/test/CodecTest.java | 46 -
.../kerberos/kerb/codec/test/CodecTestUtil.java | 32 -
.../kerb/codec/test/TestAsRepCodec.java | 76 --
.../kerb/codec/test/TestAsReqCodec.java | 97 --
.../kerberos/kerb/codec/test/TestKerberos.java | 267 -----
.../kerberos/kerb/codec/test/TestPac.java | 154 ---
.../kerberos/kerb/codec/test/TestSpnego.java | 172 ---
.../kerb/codec/test/TestTgsRepCodec.java | 70 --
.../kerb/codec/test/TestTgsReqCodec.java | 94 --
haox-kerb/kerb-core/pom.xml | 37 -
.../org/apache/kerberos/kerb/KrbConstant.java | 26 -
.../org/apache/kerberos/kerb/KrbErrorCode.java | 128 ---
.../apache/kerberos/kerb/KrbErrorException.java | 35 -
.../org/apache/kerberos/kerb/KrbException.java | 43 -
.../apache/kerberos/kerb/codec/KrbCodec.java | 93 --
.../kerberos/kerb/spec/KerberosString.java | 34 -
.../kerberos/kerb/spec/KerberosStrings.java | 43 -
.../apache/kerberos/kerb/spec/KerberosTime.java | 118 --
.../kerberos/kerb/spec/KrbAppSequenceType.java | 57 -
.../org/apache/kerberos/kerb/spec/KrbEnum.java | 24 -
.../apache/kerberos/kerb/spec/KrbIntegers.java | 54 -
.../kerberos/kerb/spec/KrbSequenceOfType.java | 43 -
.../kerberos/kerb/spec/KrbSequenceType.java | 55 -
.../apache/kerberos/kerb/spec/ap/ApOption.java | 58 -
.../apache/kerberos/kerb/spec/ap/ApOptions.java | 33 -
.../org/apache/kerberos/kerb/spec/ap/ApRep.java | 65 --
.../org/apache/kerberos/kerb/spec/ap/ApReq.java | 89 --
.../kerberos/kerb/spec/ap/Authenticator.java | 144 ---
.../kerberos/kerb/spec/ap/EncAPRepPart.java | 85 --
.../kerberos/kerb/spec/common/AdToken.java | 49 -
.../kerb/spec/common/AuthorizationData.java | 32 -
.../spec/common/AuthorizationDataEntry.java | 62 --
.../kerb/spec/common/AuthorizationType.java | 143 ---
.../kerberos/kerb/spec/common/CheckSum.java | 95 --
.../kerberos/kerb/spec/common/CheckSumType.java | 115 --
.../kerb/spec/common/EncryptedData.java | 96 --
.../kerb/spec/common/EncryptionKey.java | 107 --
.../kerb/spec/common/EncryptionType.java | 132 ---
.../kerberos/kerb/spec/common/EtypeInfo.java | 29 -
.../kerberos/kerb/spec/common/EtypeInfo2.java | 29 -
.../kerb/spec/common/EtypeInfo2Entry.java | 73 --
.../kerb/spec/common/EtypeInfoEntry.java | 61 --
.../kerberos/kerb/spec/common/HostAddrType.java | 100 --
.../kerberos/kerb/spec/common/HostAddress.java | 109 --
.../kerb/spec/common/HostAddresses.java | 43 -
.../kerberos/kerb/spec/common/KeyUsage.java | 128 ---
.../kerberos/kerb/spec/common/KrbError.java | 166 ---
.../kerberos/kerb/spec/common/KrbFlags.java | 118 --
.../kerberos/kerb/spec/common/KrbMessage.java | 54 -
.../kerb/spec/common/KrbMessageType.java | 59 -
.../kerberos/kerb/spec/common/KrbToken.java | 99 --
.../kerb/spec/common/KrbTokenEncoder.java | 28 -
.../kerberos/kerb/spec/common/LastReq.java | 32 -
.../kerberos/kerb/spec/common/LastReqEntry.java | 62 --
.../kerberos/kerb/spec/common/LastReqType.java | 62 --
.../kerberos/kerb/spec/common/MethodData.java | 30 -
.../kerberos/kerb/spec/common/NameType.java | 54 -
.../kerb/spec/common/PrincipalName.java | 199 ----
.../apache/kerberos/kerb/spec/common/Realm.java | 34 -
.../kerberos/kerb/spec/common/SamType.java | 66 --
.../kerberos/kerb/spec/common/TokenFormat.java | 50 -
.../kerb/spec/common/TransitedEncoding.java | 62 --
.../kerb/spec/common/TransitedEncodingType.java | 51 -
.../kerberos/kerb/spec/fast/ArmorType.java | 50 -
.../kerberos/kerb/spec/fast/FastOption.java | 51 -
.../kerberos/kerb/spec/fast/FastOptions.java | 33 -
.../kerberos/kerb/spec/fast/KrbFastArmor.java | 64 --
.../kerb/spec/fast/KrbFastArmoredRep.java | 52 -
.../kerb/spec/fast/KrbFastArmoredReq.java | 95 --
.../kerb/spec/fast/KrbFastFinished.java | 82 --
.../kerberos/kerb/spec/fast/KrbFastReq.java | 78 --
.../kerb/spec/fast/KrbFastResponse.java | 90 --
.../kerberos/kerb/spec/fast/PaAuthnEntry.java | 80 --
.../kerberos/kerb/spec/fast/PaAuthnSet.java | 29 -
.../kerberos/kerb/spec/fast/PaFxFastReply.java | 48 -
.../kerb/spec/fast/PaFxFastRequest.java | 48 -
.../apache/kerberos/kerb/spec/kdc/AsRep.java | 32 -
.../apache/kerberos/kerb/spec/kdc/AsReq.java | 31 -
.../kerberos/kerb/spec/kdc/EncAsRepPart.java | 31 -
.../kerberos/kerb/spec/kdc/EncKdcRepPart.java | 177 ---
.../kerberos/kerb/spec/kdc/EncTgsRepPart.java | 31 -
.../kerberos/kerb/spec/kdc/KdcOption.java | 79 --
.../kerberos/kerb/spec/kdc/KdcOptions.java | 33 -
.../apache/kerberos/kerb/spec/kdc/KdcRep.java | 116 --
.../apache/kerberos/kerb/spec/kdc/KdcReq.java | 76 --
.../kerberos/kerb/spec/kdc/KdcReqBody.java | 209 ----
.../apache/kerberos/kerb/spec/kdc/TgsRep.java | 31 -
.../apache/kerberos/kerb/spec/kdc/TgsReq.java | 32 -
.../kerb/spec/pa/PaAuthenticationSet.java | 29 -
.../kerb/spec/pa/PaAuthenticationSetElem.java | 74 --
.../apache/kerberos/kerb/spec/pa/PaData.java | 41 -
.../kerberos/kerb/spec/pa/PaDataEntry.java | 69 --
.../kerberos/kerb/spec/pa/PaDataType.java | 92 --
.../kerberos/kerb/spec/pa/PaEncTsEnc.java | 66 --
.../kerberos/kerb/spec/pa/otp/OtpTokenInfo.java | 69 --
.../kerb/spec/pa/otp/PaOtpChallenge.java | 55 -
.../spec/pa/pkinit/AdInitialVerifiedCas.java | 28 -
.../spec/pa/pkinit/AlgorithmIdentifiers.java | 30 -
.../kerberos/kerb/spec/pa/pkinit/AuthPack.java | 82 --
.../kerberos/kerb/spec/pa/pkinit/DHNonce.java | 28 -
.../kerberos/kerb/spec/pa/pkinit/DHRepInfo.java | 60 -
.../pa/pkinit/ExternalPrincipalIdentifier.java | 71 --
.../kerb/spec/pa/pkinit/KdcDHKeyInfo.java | 65 --
.../kerb/spec/pa/pkinit/Krb5PrincipalName.java | 61 --
.../kerberos/kerb/spec/pa/pkinit/PaPkAsRep.java | 60 -
.../kerberos/kerb/spec/pa/pkinit/PaPkAsReq.java | 71 --
.../kerb/spec/pa/pkinit/PkAuthenticator.java | 91 --
.../kerb/spec/pa/pkinit/ReplyKeyPack.java | 61 --
.../kerb/spec/pa/pkinit/TdDhParameters.java | 26 -
.../kerb/spec/pa/pkinit/TrustedCertifiers.java | 29 -
.../kerb/spec/pa/token/PaTokenChallenge.java | 40 -
.../kerb/spec/pa/token/PaTokenRequest.java | 61 --
.../kerberos/kerb/spec/pa/token/TokenFlag.java | 51 -
.../kerberos/kerb/spec/pa/token/TokenFlags.java | 39 -
.../kerberos/kerb/spec/pa/token/TokenInfo.java | 62 --
.../kerberos/kerb/spec/pa/token/TokenInfos.java | 29 -
.../kerb/spec/ticket/AbstractServiceTicket.java | 49 -
.../kerb/spec/ticket/EncTicketPart.java | 164 ---
.../kerb/spec/ticket/ServiceTicket.java | 28 -
.../kerberos/kerb/spec/ticket/TgtTicket.java | 36 -
.../kerberos/kerb/spec/ticket/Ticket.java | 99 --
.../kerberos/kerb/spec/ticket/TicketFlag.java | 62 --
.../kerberos/kerb/spec/ticket/TicketFlags.java | 39 -
.../kerberos/kerb/spec/ticket/Tickets.java | 29 -
.../kerb/spec/x509/AlgorithmIdentifier.java | 58 -
.../kerb/spec/x509/SubjectPublicKeyInfo.java | 60 -
haox-kerb/kerb-crypto/pom.xml | 42 -
.../kerb/crypto/AbstractCryptoTypeHandler.java | 68 --
.../apache/kerberos/kerb/crypto/BytesUtil.java | 183 ----
.../apache/kerberos/kerb/crypto/Camellia.java | 250 -----
.../kerberos/kerb/crypto/CamelliaKey.java | 433 --------
.../kerberos/kerb/crypto/CheckSumHandler.java | 153 ---
.../kerb/crypto/CheckSumTypeHandler.java | 57 -
.../org/apache/kerberos/kerb/crypto/Cmac.java | 178 ---
.../apache/kerberos/kerb/crypto/Confounder.java | 33 -
.../org/apache/kerberos/kerb/crypto/Crc32.java | 78 --
.../kerberos/kerb/crypto/CryptoTypeHandler.java | 34 -
.../org/apache/kerberos/kerb/crypto/Des.java | 86 --
.../kerberos/kerb/crypto/EncTypeHandler.java | 58 -
.../kerberos/kerb/crypto/EncryptionHandler.java | 174 ---
.../org/apache/kerberos/kerb/crypto/Hmac.java | 82 --
.../org/apache/kerberos/kerb/crypto/Md4.java | 339 ------
.../org/apache/kerberos/kerb/crypto/Nfold.java | 102 --
.../org/apache/kerberos/kerb/crypto/Nonce.java | 32 -
.../org/apache/kerberos/kerb/crypto/Pbkdf.java | 40 -
.../org/apache/kerberos/kerb/crypto/Random.java | 33 -
.../org/apache/kerberos/kerb/crypto/Rc4.java | 63 --
.../cksum/AbstractCheckSumTypeHandler.java | 112 --
.../cksum/AbstractKeyedCheckSumTypeHandler.java | 75 --
.../crypto/cksum/CmacCamellia128CheckSum.java | 53 -
.../crypto/cksum/CmacCamellia256CheckSum.java | 53 -
.../kerb/crypto/cksum/CmacKcCheckSum.java | 36 -
.../crypto/cksum/ConfounderedDesCheckSum.java | 120 --
.../kerb/crypto/cksum/Crc32CheckSum.java | 35 -
.../kerb/crypto/cksum/DesCbcCheckSum.java | 33 -
.../kerb/crypto/cksum/HashProvider.java | 35 -
.../kerb/crypto/cksum/HmacKcCheckSum.java | 37 -
.../kerb/crypto/cksum/HmacMd5Rc4CheckSum.java | 73 --
.../crypto/cksum/HmacSha1Aes128CheckSum.java | 53 -
.../crypto/cksum/HmacSha1Aes256CheckSum.java | 53 -
.../kerb/crypto/cksum/HmacSha1Des3CheckSum.java | 53 -
.../kerberos/kerb/crypto/cksum/KcCheckSum.java | 48 -
.../kerb/crypto/cksum/Md5HmacRc4CheckSum.java | 70 --
.../kerb/crypto/cksum/RsaMd4CheckSum.java | 35 -
.../kerb/crypto/cksum/RsaMd4DesCheckSum.java | 34 -
.../kerb/crypto/cksum/RsaMd5CheckSum.java | 35 -
.../kerb/crypto/cksum/RsaMd5DesCheckSum.java | 34 -
.../kerb/crypto/cksum/Sha1CheckSum.java | 35 -
.../cksum/provider/AbstractHashProvider.java | 52 -
.../AbstractUnkeyedCheckSumTypeHandler.java | 54 -
.../crypto/cksum/provider/Crc32Provider.java | 40 -
.../kerb/crypto/cksum/provider/Md4Provider.java | 34 -
.../kerb/crypto/cksum/provider/Md5Provider.java | 27 -
.../provider/MessageDigestHashProvider.java | 56 -
.../crypto/cksum/provider/Sha1Provider.java | 27 -
.../kerb/crypto/enc/AbstractEncTypeHandler.java | 160 ---
.../kerb/crypto/enc/Aes128CtsHmacSha1Enc.java | 48 -
.../kerb/crypto/enc/Aes256CtsHmacSha1Enc.java | 48 -
.../kerb/crypto/enc/Camellia128CtsCmacEnc.java | 41 -
.../kerb/crypto/enc/Camellia256CtsCmacEnc.java | 41 -
.../kerb/crypto/enc/Des3CbcSha1Enc.java | 42 -
.../kerberos/kerb/crypto/enc/DesCbcCrcEnc.java | 55 -
.../kerberos/kerb/crypto/enc/DesCbcEnc.java | 88 --
.../kerberos/kerb/crypto/enc/DesCbcMd4Enc.java | 39 -
.../kerberos/kerb/crypto/enc/DesCbcMd5Enc.java | 39 -
.../kerb/crypto/enc/EncryptProvider.java | 43 -
.../kerberos/kerb/crypto/enc/KeKiCmacEnc.java | 53 -
.../kerberos/kerb/crypto/enc/KeKiEnc.java | 129 ---
.../kerb/crypto/enc/KeKiHmacSha1Enc.java | 50 -
.../kerberos/kerb/crypto/enc/Rc4HmacEnc.java | 149 ---
.../kerberos/kerb/crypto/enc/Rc4HmacExpEnc.java | 33 -
.../enc/provider/AbstractEncryptProvider.java | 99 --
.../crypto/enc/provider/Aes128Provider.java | 27 -
.../crypto/enc/provider/Aes256Provider.java | 27 -
.../kerb/crypto/enc/provider/AesProvider.java | 62 --
.../enc/provider/Camellia128Provider.java | 27 -
.../enc/provider/Camellia256Provider.java | 27 -
.../crypto/enc/provider/CamelliaProvider.java | 58 -
.../kerb/crypto/enc/provider/Des3Provider.java | 65 --
.../kerb/crypto/enc/provider/DesProvider.java | 98 --
.../kerb/crypto/enc/provider/Rc4Provider.java | 49 -
.../kerb/crypto/key/AbstractKeyMaker.java | 93 --
.../kerberos/kerb/crypto/key/AesKeyMaker.java | 65 --
.../kerb/crypto/key/CamelliaKeyMaker.java | 121 --
.../kerberos/kerb/crypto/key/Des3KeyMaker.java | 79 --
.../kerberos/kerb/crypto/key/DesKeyMaker.java | 282 -----
.../kerberos/kerb/crypto/key/DkKeyMaker.java | 73 --
.../kerberos/kerb/crypto/key/KeyMaker.java | 29 -
.../kerberos/kerb/crypto/key/Rc4KeyMaker.java | 52 -
.../src/main/resources/kdc-krb5.conf | 25 -
.../kerb-crypto/src/main/resources/kdc.ldiff | 46 -
.../kerberos/kerb/crypto/CamelliaEncTest.java | 113 --
.../kerberos/kerb/crypto/CheckSumTest.java | 109 --
.../kerberos/kerb/crypto/CheckSumsTest.java | 233 ----
.../apache/kerberos/kerb/crypto/CmacTest.java | 85 --
.../apache/kerberos/kerb/crypto/Crc32Test.java | 119 --
.../kerberos/kerb/crypto/DecryptionTest.java | 985 -----------------
.../kerberos/kerb/crypto/DesKeyMakerTest.java | 65 --
.../kerberos/kerb/crypto/KeyDeriveTest.java | 228 ----
.../kerberos/kerb/crypto/String2keyTest.java | 583 ----------
.../src/test/resources/camellia-expect-vt.txt | 1036 ------------------
haox-kerb/kerb-identity/pom.xml | 46 -
.../kerberos/kerb/identity/Attribute.java | 36 -
.../kerb/identity/ComplexAttribute.java | 42 -
.../apache/kerberos/kerb/identity/Identity.java | 67 --
.../kerberos/kerb/identity/IdentityService.java | 31 -
.../kerberos/kerb/identity/KrbAttributes.java | 25 -
.../kerberos/kerb/identity/KrbIdentity.java | 126 ---
.../kerberos/kerb/identity/SimpleAttribute.java | 37 -
.../backend/AbstractIdentityBackend.java | 26 -
.../backend/InMemoryIdentityBackend.java | 76 --
.../identity/backend/SimpleIdentityBackend.java | 46 -
haox-kerb/kerb-kdc-test/pom.xml | 61 --
.../kerberos/kerb/server/TestKdcServer.java | 122 ---
.../kerb-kdc-test/src/main/resources/cacert.pem | 23 -
.../kerb-kdc-test/src/main/resources/cakey.pem | 27 -
.../src/main/resources/extensions.kdc | 36 -
.../src/main/resources/kdc-krb5.conf | 25 -
.../kerb-kdc-test/src/main/resources/kdc.ldiff | 46 -
.../src/main/resources/kdccert.pem | 26 -
.../kerb-kdc-test/src/main/resources/kdckey.pem | 27 -
.../src/main/resources/usercert.pem | 26 -
.../src/main/resources/userkey.pem | 27 -
.../apache/kerberos/kerb/server/KdcTest.java | 49 -
.../kerberos/kerb/server/KdcTestBase.java | 72 --
.../kerberos/kerb/server/WithCertKdcTest.java | 90 --
.../kerberos/kerb/server/WithTokenKdcTest.java | 57 -
haox-kerb/kerb-server/pom.xml | 61 --
.../apache/kerberos/kerb/server/KdcConfig.java | 153 ---
.../kerberos/kerb/server/KdcConfigKey.java | 95 --
.../apache/kerberos/kerb/server/KdcContext.java | 91 --
.../apache/kerberos/kerb/server/KdcHandler.java | 148 ---
.../apache/kerberos/kerb/server/KdcServer.java | 196 ----
.../kerberos/kerb/server/SimpleKdcServer.java | 43 -
.../server/preauth/AbstractPreauthPlugin.java | 91 --
.../kerb/server/preauth/FastContext.java | 36 -
.../kerb/server/preauth/KdcPreauth.java | 81 --
.../kerb/server/preauth/PreauthContext.java | 44 -
.../kerb/server/preauth/PreauthHandle.java | 56 -
.../kerb/server/preauth/PreauthHandler.java | 124 ---
.../server/preauth/builtin/EncTsPreauth.java | 60 -
.../kerb/server/preauth/builtin/TgtPreauth.java | 45 -
.../server/preauth/pkinit/PkinitKdcContext.java | 30 -
.../server/preauth/pkinit/PkinitPreauth.java | 93 --
.../preauth/pkinit/PkinitRequestContext.java | 30 -
.../preauth/token/TokenRequestContext.java | 32 -
.../kerb/server/replay/CacheService.java | 26 -
.../kerb/server/replay/ReplayCheckService.java | 25 -
.../server/replay/ReplayCheckServiceImpl.java | 40 -
.../kerb/server/replay/RequestRecord.java | 58 -
.../kerb/server/replay/SimpleCacheService.java | 46 -
.../kerberos/kerb/server/request/AsRequest.java | 91 --
.../kerb/server/request/KdcRequest.java | 521 ---------
.../kerb/server/request/TgsRequest.java | 196 ----
.../kerb-server/src/main/resources/kdc.conf | 51 -
.../apache/kerberos/kerb/server/KdcTest.java | 70 --
.../kerberos/kerb/server/TestKdcConfigLoad.java | 57 -
haox-kerb/kerb-util/pom.xml | 46 -
.../apache/kerberos/kerb/KrbInputStream.java | 74 --
.../apache/kerberos/kerb/KrbOutputStream.java | 66 --
.../kerb/ccache/CredCacheInputStream.java | 167 ---
.../kerb/ccache/CredCacheOutputStream.java | 123 ---
.../apache/kerberos/kerb/ccache/Credential.java | 225 ----
.../kerberos/kerb/ccache/CredentialCache.java | 278 -----
.../kerb/ccache/KrbCredentialCache.java | 57 -
.../org/apache/kerberos/kerb/ccache/Tag.java | 34 -
.../org/apache/kerberos/kerb/ccache/ccache.txt | 98 --
.../org/apache/kerberos/kerb/keytab/Keytab.java | 197 ----
.../kerberos/kerb/keytab/KeytabEntry.java | 121 --
.../kerberos/kerb/keytab/KeytabInputStream.java | 89 --
.../kerb/keytab/KeytabOutputStream.java | 63 --
.../apache/kerberos/kerb/keytab/KrbKeytab.java | 55 -
.../org/apache/kerberos/kerb/keytab/keytab.txt | 106 --
.../apache/kerberos/kerb/util/CcacheTest.java | 57 -
.../kerberos/kerb/util/EncryptionTest.java | 148 ---
.../org/apache/kerberos/kerb/util/KeysTest.java | 81 --
.../apache/kerberos/kerb/util/KeytabTest.java | 76 --
.../test/resources/aes128-cts-hmac-sha1-96.cc | Bin 691 -> 0 bytes
.../test/resources/aes256-cts-hmac-sha1-96.cc | Bin 725 -> 0 bytes
.../src/test/resources/arcfour-hmac.cc | Bin 692 -> 0 bytes
.../src/test/resources/camellia-expect-vt.txt | 1036 ------------------
.../src/test/resources/camellia128-cts-cmac.cc | Bin 700 -> 0 bytes
.../src/test/resources/camellia256-cts-cmac.cc | Bin 734 -> 0 bytes
.../kerb-util/src/test/resources/des-cbc-crc.cc | Bin 676 -> 0 bytes
.../src/test/resources/des3-cbc-sha1.cc | Bin 724 -> 0 bytes
.../kerb-util/src/test/resources/krbtgt.keytab | Bin 594 -> 0 bytes
haox-kerb/kerb-util/src/test/resources/test.cc | Bin 890 -> 0 bytes
.../kerb-util/src/test/resources/test.keytab | Bin 466 -> 0 bytes
haox-kerb/pom.xml | 48 -
kdc-backend/README | 5 +
kdc-backend/ldap-identity-backend/pom.xml | 41 +
.../identitybackend/LdapIdentityBackend.java | 77 ++
kdc-backend/pom.xml | 32 +
kerby-asn1/README.md | 301 +++++
kerby-asn1/pom.xml | 39 +
.../java/org/apache/kerby/asn1/Asn1Dump.java | 70 ++
.../java/org/apache/kerby/asn1/Asn1Factory.java | 44 +
.../org/apache/kerby/asn1/Asn1InputBuffer.java | 82 ++
.../org/apache/kerby/asn1/Asn1OutputBuffer.java | 72 ++
.../org/apache/kerby/asn1/EncodingOption.java | 84 ++
.../apache/kerby/asn1/LimitedByteBuffer.java | 121 ++
.../java/org/apache/kerby/asn1/TagClass.java | 74 ++
.../org/apache/kerby/asn1/TaggingOption.java | 68 ++
.../org/apache/kerby/asn1/UniversalTag.java | 106 ++
.../kerby/asn1/type/AbstractAsn1Type.java | 420 +++++++
.../org/apache/kerby/asn1/type/Asn1Any.java | 47 +
.../apache/kerby/asn1/type/Asn1BigInteger.java | 48 +
.../apache/kerby/asn1/type/Asn1BitString.java | 86 ++
.../apache/kerby/asn1/type/Asn1BmpString.java | 72 ++
.../org/apache/kerby/asn1/type/Asn1Boolean.java | 71 ++
.../org/apache/kerby/asn1/type/Asn1Choice.java | 173 +++
.../apache/kerby/asn1/type/Asn1Collection.java | 137 +++
.../kerby/asn1/type/Asn1CollectionOf.java | 88 ++
.../kerby/asn1/type/Asn1CollectionType.java | 195 ++++
.../apache/kerby/asn1/type/Asn1FieldInfo.java | 76 ++
.../kerby/asn1/type/Asn1GeneralString.java | 33 +
.../kerby/asn1/type/Asn1GeneralizedTime.java | 134 +++
.../apache/kerby/asn1/type/Asn1IA5String.java | 33 +
.../org/apache/kerby/asn1/type/Asn1Integer.java | 46 +
.../org/apache/kerby/asn1/type/Asn1Item.java | 155 +++
.../org/apache/kerby/asn1/type/Asn1Null.java | 52 +
.../kerby/asn1/type/Asn1NumericsString.java | 50 +
.../kerby/asn1/type/Asn1ObjectIdentifier.java | 164 +++
.../apache/kerby/asn1/type/Asn1OctetString.java | 51 +
.../kerby/asn1/type/Asn1PrintableString.java | 33 +
.../apache/kerby/asn1/type/Asn1Sequence.java | 30 +
.../apache/kerby/asn1/type/Asn1SequenceOf.java | 38 +
.../kerby/asn1/type/Asn1SequenceType.java | 37 +
.../org/apache/kerby/asn1/type/Asn1Set.java | 30 +
.../org/apache/kerby/asn1/type/Asn1SetOf.java | 30 +
.../org/apache/kerby/asn1/type/Asn1SetType.java | 37 +
.../org/apache/kerby/asn1/type/Asn1Simple.java | 184 ++++
.../org/apache/kerby/asn1/type/Asn1String.java | 292 +++++
.../apache/kerby/asn1/type/Asn1T61String.java | 33 +
.../kerby/asn1/type/Asn1T61Utf8String.java | 43 +
.../org/apache/kerby/asn1/type/Asn1Tagging.java | 104 ++
.../org/apache/kerby/asn1/type/Asn1Type.java | 41 +
.../kerby/asn1/type/Asn1UniversalString.java | 33 +
.../org/apache/kerby/asn1/type/Asn1UtcTime.java | 89 ++
.../apache/kerby/asn1/type/Asn1Utf8String.java | 47 +
.../kerby/asn1/type/Asn1VisibleString.java | 33 +
.../kerby/asn1/type/TaggingCollection.java | 105 ++
.../apache/kerby/asn1/type/TaggingSequence.java | 35 +
.../org/apache/kerby/asn1/type/TaggingSet.java | 35 +
.../org/apache/kerby/asn1/PersonnelRecord.java | 208 ++++
.../org/apache/kerby/asn1/TestAsn1Boolean.java | 56 +
.../apache/kerby/asn1/TestAsn1Collection.java | 58 +
.../org/apache/kerby/asn1/TestAsn1Input.java | 35 +
.../org/apache/kerby/asn1/TestAsn1Integer.java | 70 ++
.../kerby/asn1/TestAsn1ObjectIdentifier.java | 64 ++
.../org/apache/kerby/asn1/TestAsn1UtcTime.java | 70 ++
.../java/org/apache/kerby/asn1/TestData.java | 127 +++
.../apache/kerby/asn1/TestPersonnelRecord.java | 126 +++
.../apache/kerby/asn1/TestTaggingEncoding.java | 203 ++++
.../test/java/org/apache/kerby/asn1/Util.java | 72 ++
kerby-kdc/pom.xml | 55 +
.../kerberos/kdc/server/ApacheKdcServer.java | 41 +
.../kerby/kerberos/kdc/server/KdcTest.java | 70 ++
kerby-kerb/README | 2 +
kerby-kerb/kerb-client/pom.xml | 60 +
.../kerby/kerberos/kerb/client/KrbClient.java | 321 ++++++
.../kerby/kerberos/kerb/client/KrbConfig.java | 161 +++
.../kerberos/kerb/client/KrbConfigKey.java | 100 ++
.../kerby/kerberos/kerb/client/KrbContext.java | 97 ++
.../kerby/kerberos/kerb/client/KrbHandler.java | 99 ++
.../kerby/kerberos/kerb/client/KrbOption.java | 91 ++
.../kerby/kerberos/kerb/client/KrbOptions.java | 96 ++
.../kerb/client/event/KrbClientEvent.java | 43 +
.../kerb/client/event/KrbClientEventType.java | 29 +
.../client/preauth/AbstractPreauthPlugin.java | 122 +++
.../kerb/client/preauth/FastContext.java | 36 +
.../kerb/client/preauth/KrbPreauth.java | 107 ++
.../kerb/client/preauth/PreauthContext.java | 108 ++
.../kerb/client/preauth/PreauthHandle.java | 72 ++
.../kerb/client/preauth/PreauthHandler.java | 249 +++++
.../kerb/client/preauth/UserResponseItem.java | 31 +
.../kerb/client/preauth/UserResponser.java | 77 ++
.../client/preauth/builtin/EncTsPreauth.java | 94 ++
.../kerb/client/preauth/builtin/TgtPreauth.java | 66 ++
.../client/preauth/pkinit/PkinitContext.java | 30 +
.../client/preauth/pkinit/PkinitPreauth.java | 233 ++++
.../preauth/pkinit/PkinitRequestContext.java | 44 +
.../preauth/pkinit/PkinitRequestOpts.java | 40 +
.../kerb/client/preauth/token/TokenContext.java | 28 +
.../kerb/client/preauth/token/TokenPreauth.java | 124 +++
.../preauth/token/TokenRequestContext.java | 32 +
.../kerberos/kerb/client/request/AsRequest.java | 127 +++
.../kerb/client/request/AsRequestWithCert.java | 57 +
.../client/request/AsRequestWithPasswd.java | 50 +
.../kerb/client/request/AsRequestWithToken.java | 52 +
.../kerb/client/request/KdcRequest.java | 358 ++++++
.../kerb/client/request/TgsRequest.java | 136 +++
.../src/main/resources/kdc-krb5.conf | 25 +
.../kerb-client/src/main/resources/kdc.ldiff | 46 +
.../kerb-client/src/main/resources/krb5.conf | 57 +
.../kerberos/kerb/client/TestKrbConfigLoad.java | 71 ++
kerby-kerb/kerb-common/pom.xml | 50 +
.../apache/kerby/kerberos/kerb/KrbThrow.java | 35 +
.../org/apache/kerby/kerberos/kerb/Message.java | 43 +
.../apache/kerby/kerberos/kerb/MessageCode.java | 24 +
.../kerberos/kerb/common/EncryptionUtil.java | 98 ++
.../kerberos/kerb/common/KrbConfHelper.java | 104 ++
.../kerberos/kerb/common/KrbErrorUtil.java | 67 ++
.../kerb/common/KrbStreamingDecoder.java | 42 +
.../kerby/kerberos/kerb/common/KrbUtil.java | 49 +
.../kerberos/kerb/common/SectionConfigKey.java | 31 +
.../kerby/kerberos/kerb/preauth/PaFlag.java | 49 +
.../kerby/kerberos/kerb/preauth/PaFlags.java | 37 +
.../kerb/preauth/PluginRequestContext.java | 27 +
.../kerb/preauth/PreauthPluginMeta.java | 32 +
.../kerb/preauth/builtin/EncTsPreauthMeta.java | 45 +
.../kerb/preauth/builtin/TgtPreauthMeta.java | 48 +
.../kerb/preauth/pkinit/IdentityOpts.java | 44 +
.../kerb/preauth/pkinit/IdentityType.java | 29 +
.../kerb/preauth/pkinit/PkinitIdenity.java | 128 +++
.../kerb/preauth/pkinit/PkinitPreauthMeta.java | 46 +
.../kerb/preauth/pkinit/PluginOpts.java | 67 ++
.../kerb/preauth/token/TokenPreauthMeta.java | 46 +
kerby-kerb/kerb-core-test/pom.xml | 46 +
.../src/main/resources/aes128-kerberos-data | Bin 0 -> 1712 bytes
.../src/main/resources/aes128-key-data | 1 +
.../src/main/resources/aes128-spnego-data | Bin 0 -> 1778 bytes
.../src/main/resources/aes256-kerberos-data | Bin 0 -> 1744 bytes
.../src/main/resources/aes256-key-data | Bin 0 -> 32 bytes
.../src/main/resources/aes256-spnego-data | Bin 0 -> 1810 bytes
.../src/main/resources/asrep.token | Bin 0 -> 1241 bytes
.../src/main/resources/asreq.token | Bin 0 -> 291 bytes
.../src/main/resources/des-kerberos-data | Bin 0 -> 1773 bytes
.../src/main/resources/des-key-data | 1 +
.../src/main/resources/des-pac-data | Bin 0 -> 1072 bytes
.../src/main/resources/des-spnego-data | Bin 0 -> 1839 bytes
.../src/main/resources/exceptions.properties | 55 +
.../src/main/resources/rc4-kerberos-data | Bin 0 -> 1735 bytes
.../src/main/resources/rc4-key-data | 1 +
.../src/main/resources/rc4-pac-data | Bin 0 -> 1048 bytes
.../src/main/resources/rc4-spnego-data | Bin 0 -> 1801 bytes
.../src/main/resources/server.keytab | Bin 0 -> 387 bytes
.../src/main/resources/tgsrep.token | Bin 0 -> 1189 bytes
.../src/main/resources/tgsreq.token | Bin 0 -> 1211 bytes
.../apache/kerby/kerberos/kerb/codec/README.txt | 5 +
.../kerb/codec/kerberos/AuthzDataUtil.java | 67 ++
.../kerb/codec/kerberos/KerberosApRequest.java | 51 +
.../kerb/codec/kerberos/KerberosConstants.java | 44 +
.../codec/kerberos/KerberosCredentials.java | 55 +
.../kerb/codec/kerberos/KerberosTicket.java | 86 ++
.../kerb/codec/kerberos/KerberosToken.java | 58 +
.../kerby/kerberos/kerb/codec/pac/Pac.java | 113 ++
.../kerberos/kerb/codec/pac/PacConstants.java | 39 +
.../kerb/codec/pac/PacCredentialType.java | 41 +
.../kerb/codec/pac/PacDataInputStream.java | 158 +++
.../kerby/kerberos/kerb/codec/pac/PacGroup.java | 41 +
.../kerberos/kerb/codec/pac/PacLogonInfo.java | 322 ++++++
.../kerby/kerberos/kerb/codec/pac/PacSid.java | 130 +++
.../kerb/codec/pac/PacSidAttributes.java | 41 +
.../kerberos/kerb/codec/pac/PacSignature.java | 52 +
.../kerb/codec/pac/PacUnicodeString.java | 61 ++
.../kerb/codec/spnego/SpnegoConstants.java | 31 +
.../kerb/codec/spnego/SpnegoInitToken.java | 53 +
.../kerb/codec/spnego/SpnegoTargToken.java | 41 +
.../kerberos/kerb/codec/spnego/SpnegoToken.java | 67 ++
.../kerberos/kerb/codec/test/CodecTest.java | 46 +
.../kerberos/kerb/codec/test/CodecTestUtil.java | 32 +
.../kerb/codec/test/TestAsRepCodec.java | 74 ++
.../kerb/codec/test/TestAsReqCodec.java | 97 ++
.../kerberos/kerb/codec/test/TestKerberos.java | 267 +++++
.../kerby/kerberos/kerb/codec/test/TestPac.java | 154 +++
.../kerberos/kerb/codec/test/TestSpnego.java | 172 +++
.../kerb/codec/test/TestTgsRepCodec.java | 70 ++
.../kerb/codec/test/TestTgsReqCodec.java | 94 ++
kerby-kerb/kerb-core/pom.xml | 37 +
.../apache/kerby/kerberos/kerb/KrbConstant.java | 26 +
.../kerby/kerberos/kerb/KrbErrorCode.java | 128 +++
.../kerby/kerberos/kerb/KrbErrorException.java | 35 +
.../kerby/kerberos/kerb/KrbException.java | 43 +
.../kerby/kerberos/kerb/codec/KrbCodec.java | 93 ++
.../kerberos/kerb/spec/KerberosString.java | 34 +
.../kerberos/kerb/spec/KerberosStrings.java | 43 +
.../kerby/kerberos/kerb/spec/KerberosTime.java | 118 ++
.../kerberos/kerb/spec/KrbAppSequenceType.java | 57 +
.../kerby/kerberos/kerb/spec/KrbEnum.java | 24 +
.../kerby/kerberos/kerb/spec/KrbIntegers.java | 54 +
.../kerberos/kerb/spec/KrbSequenceOfType.java | 43 +
.../kerberos/kerb/spec/KrbSequenceType.java | 55 +
.../kerby/kerberos/kerb/spec/ap/ApOption.java | 58 +
.../kerby/kerberos/kerb/spec/ap/ApOptions.java | 33 +
.../kerby/kerberos/kerb/spec/ap/ApRep.java | 65 ++
.../kerby/kerberos/kerb/spec/ap/ApReq.java | 89 ++
.../kerberos/kerb/spec/ap/Authenticator.java | 144 +++
.../kerberos/kerb/spec/ap/EncAPRepPart.java | 85 ++
.../kerberos/kerb/spec/common/AdToken.java | 49 +
.../kerb/spec/common/AuthorizationData.java | 32 +
.../spec/common/AuthorizationDataEntry.java | 62 ++
.../kerb/spec/common/AuthorizationType.java | 143 +++
.../kerberos/kerb/spec/common/CheckSum.java | 95 ++
.../kerberos/kerb/spec/common/CheckSumType.java | 115 ++
.../kerb/spec/common/EncryptedData.java | 96 ++
.../kerb/spec/common/EncryptionKey.java | 107 ++
.../kerb/spec/common/EncryptionType.java | 132 +++
.../kerberos/kerb/spec/common/EtypeInfo.java | 29 +
.../kerberos/kerb/spec/common/EtypeInfo2.java | 29 +
.../kerb/spec/common/EtypeInfo2Entry.java | 73 ++
.../kerb/spec/common/EtypeInfoEntry.java | 61 ++
.../kerberos/kerb/spec/common/HostAddrType.java | 100 ++
.../kerberos/kerb/spec/common/HostAddress.java | 109 ++
.../kerb/spec/common/HostAddresses.java | 43 +
.../kerberos/kerb/spec/common/KeyUsage.java | 128 +++
.../kerberos/kerb/spec/common/KrbError.java | 166 +++
.../kerberos/kerb/spec/common/KrbFlags.java | 118 ++
.../kerberos/kerb/spec/common/KrbMessage.java | 54 +
.../kerb/spec/common/KrbMessageType.java | 59 +
.../kerberos/kerb/spec/common/KrbToken.java | 99 ++
.../kerb/spec/common/KrbTokenEncoder.java | 28 +
.../kerberos/kerb/spec/common/LastReq.java | 32 +
.../kerberos/kerb/spec/common/LastReqEntry.java | 62 ++
.../kerberos/kerb/spec/common/LastReqType.java | 62 ++
.../kerberos/kerb/spec/common/MethodData.java | 30 +
.../kerberos/kerb/spec/common/NameType.java | 54 +
.../kerb/spec/common/PrincipalName.java | 199 ++++
.../kerby/kerberos/kerb/spec/common/Realm.java | 34 +
.../kerberos/kerb/spec/common/SamType.java | 66 ++
.../kerberos/kerb/spec/common/TokenFormat.java | 50 +
.../kerb/spec/common/TransitedEncoding.java | 62 ++
.../kerb/spec/common/TransitedEncodingType.java | 51 +
.../kerberos/kerb/spec/fast/ArmorType.java | 50 +
.../kerberos/kerb/spec/fast/FastOption.java | 51 +
.../kerberos/kerb/spec/fast/FastOptions.java | 33 +
.../kerberos/kerb/spec/fast/KrbFastArmor.java | 64 ++
.../kerb/spec/fast/KrbFastArmoredRep.java | 52 +
.../kerb/spec/fast/KrbFastArmoredReq.java | 95 ++
.../kerb/spec/fast/KrbFastFinished.java | 82 ++
.../kerberos/kerb/spec/fast/KrbFastReq.java | 78 ++
.../kerb/spec/fast/KrbFastResponse.java | 90 ++
.../kerberos/kerb/spec/fast/PaAuthnEntry.java | 80 ++
.../kerberos/kerb/spec/fast/PaAuthnSet.java | 29 +
.../kerberos/kerb/spec/fast/PaFxFastReply.java | 48 +
.../kerb/spec/fast/PaFxFastRequest.java | 48 +
.../kerby/kerberos/kerb/spec/kdc/AsRep.java | 32 +
.../kerby/kerberos/kerb/spec/kdc/AsReq.java | 31 +
.../kerberos/kerb/spec/kdc/EncAsRepPart.java | 31 +
.../kerberos/kerb/spec/kdc/EncKdcRepPart.java | 177 +++
.../kerberos/kerb/spec/kdc/EncTgsRepPart.java | 31 +
.../kerby/kerberos/kerb/spec/kdc/KdcOption.java | 79 ++
.../kerberos/kerb/spec/kdc/KdcOptions.java | 33 +
.../kerby/kerberos/kerb/spec/kdc/KdcRep.java | 116 ++
.../kerby/kerberos/kerb/spec/kdc/KdcReq.java | 76 ++
.../kerberos/kerb/spec/kdc/KdcReqBody.java | 209 ++++
.../kerby/kerberos/kerb/spec/kdc/TgsRep.java | 31 +
.../kerby/kerberos/kerb/spec/kdc/TgsReq.java | 32 +
.../kerb/spec/pa/PaAuthenticationSet.java | 29 +
.../kerb/spec/pa/PaAuthenticationSetElem.java | 74 ++
.../kerby/kerberos/kerb/spec/pa/PaData.java | 41 +
.../kerberos/kerb/spec/pa/PaDataEntry.java | 69 ++
.../kerby/kerberos/kerb/spec/pa/PaDataType.java | 92 ++
.../kerby/kerberos/kerb/spec/pa/PaEncTsEnc.java | 66 ++
.../kerberos/kerb/spec/pa/otp/OtpTokenInfo.java | 69 ++
.../kerb/spec/pa/otp/PaOtpChallenge.java | 55 +
.../spec/pa/pkinit/AdInitialVerifiedCas.java | 28 +
.../spec/pa/pkinit/AlgorithmIdentifiers.java | 30 +
.../kerberos/kerb/spec/pa/pkinit/AuthPack.java | 82 ++
.../kerberos/kerb/spec/pa/pkinit/DHNonce.java | 28 +
.../kerberos/kerb/spec/pa/pkinit/DHRepInfo.java | 60 +
.../pa/pkinit/ExternalPrincipalIdentifier.java | 71 ++
.../kerb/spec/pa/pkinit/KdcDHKeyInfo.java | 65 ++
.../kerb/spec/pa/pkinit/Krb5PrincipalName.java | 61 ++
.../kerberos/kerb/spec/pa/pkinit/PaPkAsRep.java | 60 +
.../kerberos/kerb/spec/pa/pkinit/PaPkAsReq.java | 71 ++
.../kerb/spec/pa/pkinit/PkAuthenticator.java | 91 ++
.../kerb/spec/pa/pkinit/ReplyKeyPack.java | 61 ++
.../kerb/spec/pa/pkinit/TdDhParameters.java | 26 +
.../kerb/spec/pa/pkinit/TrustedCertifiers.java | 29 +
.../kerb/spec/pa/token/PaTokenChallenge.java | 40 +
.../kerb/spec/pa/token/PaTokenRequest.java | 61 ++
.../kerberos/kerb/spec/pa/token/TokenFlag.java | 51 +
.../kerberos/kerb/spec/pa/token/TokenFlags.java | 39 +
.../kerberos/kerb/spec/pa/token/TokenInfo.java | 62 ++
.../kerberos/kerb/spec/pa/token/TokenInfos.java | 29 +
.../kerb/spec/ticket/AbstractServiceTicket.java | 49 +
.../kerb/spec/ticket/EncTicketPart.java | 164 +++
.../kerb/spec/ticket/ServiceTicket.java | 28 +
.../kerberos/kerb/spec/ticket/TgtTicket.java | 36 +
.../kerby/kerberos/kerb/spec/ticket/Ticket.java | 99 ++
.../kerberos/kerb/spec/ticket/TicketFlag.java | 62 ++
.../kerberos/kerb/spec/ticket/TicketFlags.java | 39 +
.../kerberos/kerb/spec/ticket/Tickets.java | 29 +
.../kerb/spec/x509/AlgorithmIdentifier.java | 58 +
.../kerb/spec/x509/SubjectPublicKeyInfo.java | 60 +
kerby-kerb/kerb-crypto/pom.xml | 42 +
.../kerb/crypto/AbstractCryptoTypeHandler.java | 68 ++
.../kerby/kerberos/kerb/crypto/BytesUtil.java | 183 ++++
.../kerby/kerberos/kerb/crypto/Camellia.java | 250 +++++
.../kerby/kerberos/kerb/crypto/CamelliaKey.java | 433 ++++++++
.../kerberos/kerb/crypto/CheckSumHandler.java | 153 +++
.../kerb/crypto/CheckSumTypeHandler.java | 57 +
.../apache/kerby/kerberos/kerb/crypto/Cmac.java | 178 +++
.../kerby/kerberos/kerb/crypto/Confounder.java | 33 +
.../kerby/kerberos/kerb/crypto/Crc32.java | 78 ++
.../kerberos/kerb/crypto/CryptoTypeHandler.java | 34 +
.../apache/kerby/kerberos/kerb/crypto/Des.java | 84 ++
.../kerberos/kerb/crypto/EncTypeHandler.java | 58 +
.../kerberos/kerb/crypto/EncryptionHandler.java | 174 +++
.../apache/kerby/kerberos/kerb/crypto/Hmac.java | 82 ++
.../apache/kerby/kerberos/kerb/crypto/Md4.java | 338 ++++++
.../kerby/kerberos/kerb/crypto/Nfold.java | 102 ++
.../kerby/kerberos/kerb/crypto/Nonce.java | 32 +
.../kerby/kerberos/kerb/crypto/Pbkdf.java | 40 +
.../kerby/kerberos/kerb/crypto/Random.java | 33 +
.../apache/kerby/kerberos/kerb/crypto/Rc4.java | 63 ++
.../cksum/AbstractCheckSumTypeHandler.java | 112 ++
.../cksum/AbstractKeyedCheckSumTypeHandler.java | 75 ++
.../crypto/cksum/CmacCamellia128CheckSum.java | 53 +
.../crypto/cksum/CmacCamellia256CheckSum.java | 53 +
.../kerb/crypto/cksum/CmacKcCheckSum.java | 36 +
.../crypto/cksum/ConfounderedDesCheckSum.java | 120 ++
.../kerb/crypto/cksum/Crc32CheckSum.java | 35 +
.../kerb/crypto/cksum/DesCbcCheckSum.java | 33 +
.../kerb/crypto/cksum/HashProvider.java | 35 +
.../kerb/crypto/cksum/HmacKcCheckSum.java | 37 +
.../kerb/crypto/cksum/HmacMd5Rc4CheckSum.java | 73 ++
.../crypto/cksum/HmacSha1Aes128CheckSum.java | 53 +
.../crypto/cksum/HmacSha1Aes256CheckSum.java | 53 +
.../kerb/crypto/cksum/HmacSha1Des3CheckSum.java | 53 +
.../kerberos/kerb/crypto/cksum/KcCheckSum.java | 48 +
.../kerb/crypto/cksum/Md5HmacRc4CheckSum.java | 70 ++
.../kerb/crypto/cksum/RsaMd4CheckSum.java | 35 +
.../kerb/crypto/cksum/RsaMd4DesCheckSum.java | 34 +
.../kerb/crypto/cksum/RsaMd5CheckSum.java | 35 +
.../kerb/crypto/cksum/RsaMd5DesCheckSum.java | 34 +
.../kerb/crypto/cksum/Sha1CheckSum.java | 35 +
.../cksum/provider/AbstractHashProvider.java | 52 +
.../AbstractUnkeyedCheckSumTypeHandler.java | 54 +
.../crypto/cksum/provider/Crc32Provider.java | 40 +
.../kerb/crypto/cksum/provider/Md4Provider.java | 34 +
.../kerb/crypto/cksum/provider/Md5Provider.java | 27 +
.../provider/MessageDigestHashProvider.java | 56 +
.../crypto/cksum/provider/Sha1Provider.java | 27 +
.../kerb/crypto/enc/AbstractEncTypeHandler.java | 160 +++
.../kerb/crypto/enc/Aes128CtsHmacSha1Enc.java | 48 +
.../kerb/crypto/enc/Aes256CtsHmacSha1Enc.java | 48 +
.../kerb/crypto/enc/Camellia128CtsCmacEnc.java | 41 +
.../kerb/crypto/enc/Camellia256CtsCmacEnc.java | 41 +
.../kerb/crypto/enc/Des3CbcSha1Enc.java | 42 +
.../kerberos/kerb/crypto/enc/DesCbcCrcEnc.java | 55 +
.../kerberos/kerb/crypto/enc/DesCbcEnc.java | 88 ++
.../kerberos/kerb/crypto/enc/DesCbcMd4Enc.java | 39 +
.../kerberos/kerb/crypto/enc/DesCbcMd5Enc.java | 39 +
.../kerb/crypto/enc/EncryptProvider.java | 43 +
.../kerberos/kerb/crypto/enc/KeKiCmacEnc.java | 53 +
.../kerby/kerberos/kerb/crypto/enc/KeKiEnc.java | 129 +++
.../kerb/crypto/enc/KeKiHmacSha1Enc.java | 50 +
.../kerberos/kerb/crypto/enc/Rc4HmacEnc.java | 149 +++
.../kerberos/kerb/crypto/enc/Rc4HmacExpEnc.java | 33 +
.../enc/provider/AbstractEncryptProvider.java | 99 ++
.../crypto/enc/provider/Aes128Provider.java | 27 +
.../crypto/enc/provider/Aes256Provider.java | 27 +
.../kerb/crypto/enc/provider/AesProvider.java | 62 ++
.../enc/provider/Camellia128Provider.java | 27 +
.../enc/provider/Camellia256Provider.java | 27 +
.../crypto/enc/provider/CamelliaProvider.java | 58 +
.../kerb/crypto/enc/provider/Des3Provider.java | 65 ++
.../kerb/crypto/enc/provider/DesProvider.java | 98 ++
.../kerb/crypto/enc/provider/Rc4Provider.java | 49 +
.../kerb/crypto/key/AbstractKeyMaker.java | 93 ++
.../kerberos/kerb/crypto/key/AesKeyMaker.java | 65 ++
.../kerb/crypto/key/CamelliaKeyMaker.java | 121 ++
.../kerberos/kerb/crypto/key/Des3KeyMaker.java | 79 ++
.../kerberos/kerb/crypto/key/DesKeyMaker.java | 282 +++++
.../kerberos/kerb/crypto/key/DkKeyMaker.java | 73 ++
.../kerberos/kerb/crypto/key/KeyMaker.java | 29 +
.../kerberos/kerb/crypto/key/Rc4KeyMaker.java | 52 +
.../src/main/resources/kdc-krb5.conf | 25 +
.../kerb-crypto/src/main/resources/kdc.ldiff | 46 +
.../kerberos/kerb/crypto/CamelliaEncTest.java | 113 ++
.../kerberos/kerb/crypto/CheckSumTest.java | 109 ++
.../kerberos/kerb/crypto/CheckSumsTest.java | 233 ++++
.../kerby/kerberos/kerb/crypto/CmacTest.java | 85 ++
.../kerby/kerberos/kerb/crypto/Crc32Test.java | 119 ++
.../kerberos/kerb/crypto/DecryptionTest.java | 985 +++++++++++++++++
.../kerberos/kerb/crypto/DesKeyMakerTest.java | 64 ++
.../kerberos/kerb/crypto/KeyDeriveTest.java | 228 ++++
.../kerberos/kerb/crypto/String2keyTest.java | 583 ++++++++++
.../src/test/resources/camellia-expect-vt.txt | 1036 ++++++++++++++++++
kerby-kerb/kerb-identity/pom.xml | 46 +
.../kerby/kerberos/kerb/identity/Attribute.java | 36 +
.../kerb/identity/ComplexAttribute.java | 42 +
.../kerby/kerberos/kerb/identity/Identity.java | 67 ++
.../kerberos/kerb/identity/IdentityService.java | 31 +
.../kerberos/kerb/identity/KrbAttributes.java | 25 +
.../kerberos/kerb/identity/KrbIdentity.java | 126 +++
.../kerberos/kerb/identity/SimpleAttribute.java | 37 +
.../backend/AbstractIdentityBackend.java | 26 +
.../backend/InMemoryIdentityBackend.java | 76 ++
.../identity/backend/SimpleIdentityBackend.java | 46 +
kerby-kerb/kerb-kdc-test/pom.xml | 61 ++
.../kerberos/kerb/server/TestKdcServer.java | 122 +++
.../kerb-kdc-test/src/main/resources/cacert.pem | 23 +
.../kerb-kdc-test/src/main/resources/cakey.pem | 27 +
.../src/main/resources/extensions.kdc | 36 +
.../src/main/resources/kdc-krb5.conf | 25 +
.../kerb-kdc-test/src/main/resources/kdc.ldiff | 46 +
.../src/main/resources/kdccert.pem | 26 +
.../kerb-kdc-test/src/main/resources/kdckey.pem | 27 +
.../src/main/resources/usercert.pem | 26 +
.../src/main/resources/userkey.pem | 27 +
.../kerby/kerberos/kerb/server/KdcTest.java | 49 +
.../kerby/kerberos/kerb/server/KdcTestBase.java | 71 ++
.../kerberos/kerb/server/WithCertKdcTest.java | 89 ++
.../kerberos/kerb/server/WithTokenKdcTest.java | 56 +
kerby-kerb/kerb-server/pom.xml | 61 ++
.../kerby/kerberos/kerb/server/KdcConfig.java | 153 +++
.../kerberos/kerb/server/KdcConfigKey.java | 94 ++
.../kerby/kerberos/kerb/server/KdcContext.java | 91 ++
.../kerby/kerberos/kerb/server/KdcHandler.java | 148 +++
.../kerby/kerberos/kerb/server/KdcServer.java | 196 ++++
.../kerberos/kerb/server/SimpleKdcServer.java | 43 +
.../server/preauth/AbstractPreauthPlugin.java | 91 ++
.../kerb/server/preauth/FastContext.java | 36 +
.../kerb/server/preauth/KdcPreauth.java | 81 ++
.../kerb/server/preauth/PreauthContext.java | 44 +
.../kerb/server/preauth/PreauthHandle.java | 56 +
.../kerb/server/preauth/PreauthHandler.java | 124 +++
.../server/preauth/builtin/EncTsPreauth.java | 60 +
.../kerb/server/preauth/builtin/TgtPreauth.java | 45 +
.../server/preauth/pkinit/PkinitKdcContext.java | 30 +
.../server/preauth/pkinit/PkinitPreauth.java | 93 ++
.../preauth/pkinit/PkinitRequestContext.java | 30 +
.../preauth/token/TokenRequestContext.java | 32 +
.../kerb/server/replay/CacheService.java | 26 +
.../kerb/server/replay/ReplayCheckService.java | 25 +
.../server/replay/ReplayCheckServiceImpl.java | 40 +
.../kerb/server/replay/RequestRecord.java | 58 +
.../kerb/server/replay/SimpleCacheService.java | 46 +
.../kerberos/kerb/server/request/AsRequest.java | 91 ++
.../kerb/server/request/KdcRequest.java | 521 +++++++++
.../kerb/server/request/TgsRequest.java | 196 ++++
.../kerb-server/src/main/resources/kdc.conf | 51 +
.../kerby/kerberos/kerb/server/KdcTest.java | 70 ++
.../kerberos/kerb/server/TestKdcConfigLoad.java | 57 +
kerby-kerb/kerb-util/pom.xml | 46 +
.../kerby/kerberos/kerb/KrbInputStream.java | 74 ++
.../kerby/kerberos/kerb/KrbOutputStream.java | 66 ++
.../kerb/ccache/CredCacheInputStream.java | 167 +++
.../kerb/ccache/CredCacheOutputStream.java | 123 +++
.../kerby/kerberos/kerb/ccache/Credential.java | 225 ++++
.../kerberos/kerb/ccache/CredentialCache.java | 278 +++++
.../kerb/ccache/KrbCredentialCache.java | 57 +
.../apache/kerby/kerberos/kerb/ccache/Tag.java | 34 +
.../kerby/kerberos/kerb/ccache/ccache.txt | 98 ++
.../kerby/kerberos/kerb/keytab/Keytab.java | 197 ++++
.../kerby/kerberos/kerb/keytab/KeytabEntry.java | 121 ++
.../kerberos/kerb/keytab/KeytabInputStream.java | 89 ++
.../kerb/keytab/KeytabOutputStream.java | 63 ++
.../kerby/kerberos/kerb/keytab/KrbKeytab.java | 55 +
.../kerby/kerberos/kerb/keytab/keytab.txt | 106 ++
.../kerby/kerberos/kerb/util/CcacheTest.java | 57 +
.../kerberos/kerb/util/EncryptionTest.java | 148 +++
.../kerby/kerberos/kerb/util/KeysTest.java | 81 ++
.../kerby/kerberos/kerb/util/KeytabTest.java | 76 ++
.../test/resources/aes128-cts-hmac-sha1-96.cc | Bin 0 -> 691 bytes
.../test/resources/aes256-cts-hmac-sha1-96.cc | Bin 0 -> 725 bytes
.../src/test/resources/arcfour-hmac.cc | Bin 0 -> 692 bytes
.../src/test/resources/camellia-expect-vt.txt | 1036 ++++++++++++++++++
.../src/test/resources/camellia128-cts-cmac.cc | Bin 0 -> 700 bytes
.../src/test/resources/camellia256-cts-cmac.cc | Bin 0 -> 734 bytes
.../kerb-util/src/test/resources/des-cbc-crc.cc | Bin 0 -> 676 bytes
.../src/test/resources/des3-cbc-sha1.cc | Bin 0 -> 724 bytes
.../kerb-util/src/test/resources/krbtgt.keytab | Bin 0 -> 594 bytes
kerby-kerb/kerb-util/src/test/resources/test.cc | Bin 0 -> 890 bytes
.../kerb-util/src/test/resources/test.keytab | Bin 0 -> 466 bytes
kerby-kerb/pom.xml | 48 +
lib/kerby-config/README | 1 +
lib/kerby-config/pom.xml | 37 +
.../main/java/org/apache/kerby/config/Conf.java | 285 +++++
.../java/org/apache/kerby/config/Config.java | 58 +
.../org/apache/kerby/config/ConfigImpl.java | 346 ++++++
.../java/org/apache/kerby/config/ConfigKey.java | 25 +
.../org/apache/kerby/config/ConfigLoader.java | 50 +
.../org/apache/kerby/config/ConfigObject.java | 80 ++
.../apache/kerby/config/IniConfigLoader.java | 69 ++
.../apache/kerby/config/JsonConfigLoader.java | 27 +
.../apache/kerby/config/MapConfigLoader.java | 34 +
.../kerby/config/PropertiesConfigLoader.java | 43 +
.../config/PropertiesFileConfigLoader.java | 33 +
.../java/org/apache/kerby/config/Resource.java | 119 ++
.../apache/kerby/config/XmlConfigLoader.java | 159 +++
.../java/org/apache/kerby/config/ConfTest.java | 133 +++
.../org/apache/kerby/config/ConfigImplTest.java | 62 ++
.../org/apache/kerby/config/IniConfigTest.java | 76 ++
lib/kerby-event/README | 1 +
lib/kerby-event/pom.xml | 28 +
.../kerby/event/AbstractEventHandler.java | 55 +
.../event/AbstractInternalEventHandler.java | 66 ++
.../kerby/event/BufferedEventHandler.java | 53 +
.../java/org/apache/kerby/event/Dispatcher.java | 29 +
.../main/java/org/apache/kerby/event/Event.java | 43 +
.../org/apache/kerby/event/EventHandler.java | 31 +
.../java/org/apache/kerby/event/EventHub.java | 192 ++++
.../java/org/apache/kerby/event/EventType.java | 24 +
.../org/apache/kerby/event/EventWaiter.java | 35 +
.../kerby/event/ExecutedEventHandler.java | 76 ++
.../kerby/event/InternalEventHandler.java | 34 +
.../kerby/event/LongRunningEventHandler.java | 77 ++
.../apache/kerby/event/WaitEventHandler.java | 128 +++
.../org/apache/kerby/transport/Acceptor.java | 36 +
.../org/apache/kerby/transport/Connector.java | 36 +
.../apache/kerby/transport/MessageHandler.java | 42 +
.../org/apache/kerby/transport/Network.java | 297 +++++
.../org/apache/kerby/transport/Transport.java | 84 ++
.../kerby/transport/TransportHandler.java | 34 +
.../kerby/transport/TransportSelector.java | 100 ++
.../kerby/transport/buffer/BufferPool.java | 33 +
.../kerby/transport/buffer/BufferUtil.java | 42 +
.../kerby/transport/buffer/RecvBuffer.java | 155 +++
.../kerby/transport/buffer/TransBuffer.java | 49 +
.../kerby/transport/event/AddressEvent.java | 39 +
.../kerby/transport/event/MessageEvent.java | 41 +
.../kerby/transport/event/TransportEvent.java | 56 +
.../transport/event/TransportEventType.java | 29 +
.../kerby/transport/tcp/DecodingCallback.java | 38 +
.../kerby/transport/tcp/StreamingDecoder.java | 26 +
.../apache/kerby/transport/tcp/TcpAcceptor.java | 112 ++
.../kerby/transport/tcp/TcpAddressEvent.java | 36 +
.../kerby/transport/tcp/TcpConnector.java | 94 ++
.../kerby/transport/tcp/TcpEventType.java | 27 +
.../kerby/transport/tcp/TcpTransport.java | 110 ++
.../transport/tcp/TcpTransportHandler.java | 77 ++
.../apache/kerby/transport/udp/UdpAcceptor.java | 84 ++
.../kerby/transport/udp/UdpAddressEvent.java | 36 +
.../kerby/transport/udp/UdpChannelEvent.java | 47 +
.../kerby/transport/udp/UdpConnector.java | 76 ++
.../kerby/transport/udp/UdpEventType.java | 29 +
.../kerby/transport/udp/UdpTransport.java | 65 ++
.../transport/udp/UdpTransportHandler.java | 109 ++
.../java/org/apache/kerby/event/TestBuffer.java | 50 +
.../kerby/event/network/TestNetworkBase.java | 58 +
.../kerby/event/network/TestNetworkClient.java | 212 ++++
.../kerby/event/network/TestNetworkServer.java | 110 ++
.../org/apache/kerby/event/tcp/TestTcpBase.java | 57 +
.../apache/kerby/event/tcp/TestTcpClient.java | 160 +++
.../apache/kerby/event/tcp/TestTcpServer.java | 90 ++
.../org/apache/kerby/event/udp/TestUdpBase.java | 41 +
.../apache/kerby/event/udp/TestUdpClient.java | 149 +++
.../apache/kerby/event/udp/TestUdpServer.java | 89 ++
lib/kerby-pkix/pom.xml | 39 +
.../main/java/org/apache/kerby/pki/Pkix.java | 87 ++
lib/kerby-pkix/src/main/resources/cacert.pem | 23 +
lib/kerby-pkix/src/main/resources/cakey.pem | 27 +
.../src/main/resources/extensions.kdc | 36 +
lib/kerby-pkix/src/main/resources/kdccert.pem | 26 +
lib/kerby-pkix/src/main/resources/kdckey.pem | 27 +
lib/kerby-pkix/src/main/resources/usercert.pem | 26 +
lib/kerby-pkix/src/main/resources/userkey.pem | 27 +
.../java/org/apache/kerby/pki/PkixTest.java | 60 +
lib/kerby-token/pom.xml | 44 +
.../org/apache/kerby/token/AuthzDataEntry.java | 52 +
.../java/org/apache/kerby/token/KerbToken.java | 47 +
.../java/org/apache/kerby/token/TokenCache.java | 82 ++
.../org/apache/kerby/token/TokenExtractor.java | 101 ++
.../java/org/apache/kerby/token/TokenTool.java | 124 +++
lib/kerby-util/pom.xml | 29 +
.../java/org/apache/kerby/util/HexUtil.java | 58 +
lib/pom.xml | 45 +
pom.xml | 26 +-
tool/pom.xml | 45 +
.../java/org/apache/kerberos/tool/Kinit.java | 42 +
1154 files changed, 44969 insertions(+), 44989 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/3rdparty/not-yet-commons-ssl/pom.xml
----------------------------------------------------------------------
diff --git a/3rdparty/not-yet-commons-ssl/pom.xml b/3rdparty/not-yet-commons-ssl/pom.xml
index b975ebf..92dcd42 100644
--- a/3rdparty/not-yet-commons-ssl/pom.xml
+++ b/3rdparty/not-yet-commons-ssl/pom.xml
@@ -16,7 +16,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <groupId>org.haox</groupId>
+ <groupId>org.apache.kerby</groupId>
<artifactId>3rdparty</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/3rdparty/pom.xml
----------------------------------------------------------------------
diff --git a/3rdparty/pom.xml b/3rdparty/pom.xml
index 5323f4d..9474003 100644
--- a/3rdparty/pom.xml
+++ b/3rdparty/pom.xml
@@ -16,8 +16,8 @@
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.haox</groupId>
- <artifactId>haox-all</artifactId>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>kerby-all</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/benchmark/pom.xml
----------------------------------------------------------------------
diff --git a/benchmark/pom.xml b/benchmark/pom.xml
index 902d77c..aa81e51 100644
--- a/benchmark/pom.xml
+++ b/benchmark/pom.xml
@@ -13,115 +13,111 @@
limitations under the License. See accompanying LICENSE file.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>haox-all</artifactId>
- <groupId>org.haox</groupId>
- <version>1.0-SNAPSHOT</version>
- </parent>
+ <modelVersion>4.0.0</modelVersion>
- <artifactId>benchmark</artifactId>
+ <parent>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>kerby-all</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
- <name>Haox benchmark</name>
- <description>Haox benchmark tests</description>
+ <artifactId>benchmark</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.haox</groupId>
- <artifactId>haox-asn1</artifactId>
- <version>1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.haox</groupId>
- <artifactId>kerb-core</artifactId>
- <version>1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.haox</groupId>
- <artifactId>kerb-util</artifactId>
- <version>1.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-core-api</artifactId>
- <version>2.0.0-M15</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.directory.api</groupId>
- <artifactId>api-ldap-schema-data</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-interceptor-kerberos</artifactId>
- <version>2.0.0-M15</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.directory.api</groupId>
- <artifactId>api-ldap-schema-data</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-protocol-shared</artifactId>
- <version>2.0.0-M15</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-protocol-kerberos</artifactId>
- <version>2.0.0-M15</version>
- <scope>compile</scope>
- <exclusions>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-ldif-partition</artifactId>
- <version>2.0.0-M15</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.directory.api</groupId>
- <artifactId>api-ldap-schema-data</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.server</groupId>
- <artifactId>apacheds-mavibot-partition</artifactId>
- <version>2.0.0-M15</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.apache.directory.api</groupId>
- <artifactId>api-ldap-schema-data</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.directory.api</groupId>
- <artifactId>api-all</artifactId>
- <version>1.0.0-M20</version>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>xml-apis</groupId>
- <artifactId>xml-apis</artifactId>
- </exclusion>
- <exclusion>
- <groupId>xpp3</groupId>
- <artifactId>xpp3</artifactId>
- </exclusion>
- <exclusion>
- <groupId>dom4j</groupId>
- <artifactId>dom4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
+ <name>Kerby benchmark</name>
+ <description>Kerby benchmark tests</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>kerby-asn1</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.kerby</groupId>
+ <artifactId>kerb-core</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-core-api</artifactId>
+ <version>2.0.0-M15</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-ldap-schema-data</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-interceptor-kerberos</artifactId>
+ <version>2.0.0-M15</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-ldap-schema-data</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-protocol-shared</artifactId>
+ <version>2.0.0-M15</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-protocol-kerberos</artifactId>
+ <version>2.0.0-M15</version>
+ <scope>compile</scope>
+ <exclusions>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-ldif-partition</artifactId>
+ <version>2.0.0-M15</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-ldap-schema-data</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-mavibot-partition</artifactId>
+ <version>2.0.0-M15</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-ldap-schema-data</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.api</groupId>
+ <artifactId>api-all</artifactId>
+ <version>1.0.0-M20</version>
+ <scope>compile</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>xpp3</groupId>
+ <artifactId>xpp3</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java
----------------------------------------------------------------------
diff --git a/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java b/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java
deleted file mode 100644
index b1864d4..0000000
--- a/benchmark/src/test/java/org/apache/kerberos/benchmark/KrbCodecPerfTest.java
+++ /dev/null
@@ -1,79 +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.kerberos.benchmark;
-
-import org.apache.directory.api.asn1.DecoderException;
-import org.apache.directory.api.asn1.EncoderException;
-import org.apache.directory.api.asn1.ber.Asn1Decoder;
-import org.apache.directory.shared.kerberos.codec.apReq.ApReqContainer;
-import org.apache.kerberos.kerb.KrbException;
-import org.apache.kerberos.kerb.spec.ap.ApReq;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.ByteBuffer;
-
-public class KrbCodecPerfTest {
-
- public static void main(String[] args) throws KrbException, IOException, DecoderException, EncoderException {
- InputStream is = KrbCodecPerfTest.class.getResourceAsStream("/apreq.token");
- byte[] bytes = new byte[is.available()];
- is.read(bytes);
-
- int times = 1000000;
- perfApacheDS(ByteBuffer.wrap(bytes), times);
- perfHaox(ByteBuffer.wrap(bytes), times);
- }
-
- private static void perfHaox(ByteBuffer apreqToken, int times) throws KrbException, IOException {
- long start = System.currentTimeMillis();
-
- for (int i = 0; i < times; ++i) {
- //ApReq apReq = KrbCodec.decode(apreqToken, ApReq.class);
- ApReq apReq = new ApReq(); apReq.decode(apreqToken);
- if (apReq == null) {
- throw new RuntimeException("Decoding failed");
- }
- String serverName = apReq.getTicket().getSname().toString();
-
- apreqToken.rewind();
- }
-
- long end = System.currentTimeMillis();
- System.out.println("HaoxCodec takes:" + (end - start));
- }
-
- private static void perfApacheDS(ByteBuffer apreqToken, int times) throws EncoderException, DecoderException {
- long start = System.currentTimeMillis();
-
- for (int i = 0; i < times; ++i) {
- Asn1Decoder krbDecoder = new Asn1Decoder();
- ApReqContainer apreqContainer = new ApReqContainer(apreqToken);
- krbDecoder.decode(apreqToken, apreqContainer);
- String serverName = apreqContainer.getApReq().getTicket().getSName().toString();
-
- apreqToken.rewind();
- }
-
- long end = System.currentTimeMillis();
- System.out.println("ApacheDS takes:" + (end - start));
- }
-
-}
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/ceacb982/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java
----------------------------------------------------------------------
diff --git a/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java b/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java
new file mode 100644
index 0000000..cf151dc
--- /dev/null
+++ b/benchmark/src/test/java/org/apache/kerby/kerberos/benchmark/KrbCodecPerfTest.java
@@ -0,0 +1,79 @@
+/**
+ * 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.benchmark;
+
+import org.apache.directory.api.asn1.DecoderException;
+import org.apache.directory.api.asn1.EncoderException;
+import org.apache.directory.api.asn1.ber.Asn1Decoder;
+import org.apache.directory.shared.kerberos.codec.apReq.ApReqContainer;
+import org.apache.kerby.kerberos.kerb.KrbException;
+import org.apache.kerby.kerberos.kerb.spec.ap.ApReq;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.ByteBuffer;
+
+public class KrbCodecPerfTest {
+
+ public static void main(String[] args) throws KrbException, IOException, DecoderException, EncoderException {
+ InputStream is = KrbCodecPerfTest.class.getResourceAsStream("/apreq.token");
+ byte[] bytes = new byte[is.available()];
+ is.read(bytes);
+
+ int times = 1000000;
+ perfApacheDS(ByteBuffer.wrap(bytes), times);
+ perfHaox(ByteBuffer.wrap(bytes), times);
+ }
+
+ private static void perfHaox(ByteBuffer apreqToken, int times) throws KrbException, IOException {
+ long start = System.currentTimeMillis();
+
+ for (int i = 0; i < times; ++i) {
+ //ApReq apReq = KrbCodec.decode(apreqToken, ApReq.class);
+ ApReq apReq = new ApReq(); apReq.decode(apreqToken);
+ if (apReq == null) {
+ throw new RuntimeException("Decoding failed");
+ }
+ String serverName = apReq.getTicket().getSname().toString();
+
+ apreqToken.rewind();
+ }
+
+ long end = System.currentTimeMillis();
+ System.out.println("HaoxCodec takes:" + (end - start));
+ }
+
+ private static void perfApacheDS(ByteBuffer apreqToken, int times) throws EncoderException, DecoderException {
+ long start = System.currentTimeMillis();
+
+ for (int i = 0; i < times; ++i) {
+ Asn1Decoder krbDecoder = new Asn1Decoder();
+ ApReqContainer apreqContainer = new ApReqContainer(apreqToken);
+ krbDecoder.decode(apreqToken, apreqContainer);
+ String serverName = apreqContainer.getApReq().getTicket().getSName().toString();
+
+ apreqToken.rewind();
+ }
+
+ long end = System.currentTimeMillis();
+ System.out.println("ApacheDS takes:" + (end - start));
+ }
+
+}