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/21 03:26:34 UTC
directory-kerberos git commit: DIRKRB-117 Add test for TGS-REP
message codec. Contributed by Lin Chen
Repository: directory-kerberos
Updated Branches:
refs/heads/master b671ace58 -> 6b83abe96
DIRKRB-117 Add test for TGS-REP message codec. Contributed by Lin Chen
Project: http://git-wip-us.apache.org/repos/asf/directory-kerberos/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerberos/commit/6b83abe9
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerberos/tree/6b83abe9
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerberos/diff/6b83abe9
Branch: refs/heads/master
Commit: 6b83abe961158194d5e7add1024f8fc31debe826
Parents: b671ace
Author: drankye <dr...@gmail.com>
Authored: Wed Jan 21 18:23:29 2015 +0800
Committer: drankye <dr...@gmail.com>
Committed: Wed Jan 21 18:23:29 2015 +0800
----------------------------------------------------------------------
.../src/main/resources/tgsrep.token | Bin 0 -> 1189 bytes
.../kerb/codec/test/TestTgsrepCodec.java | 70 +++++++++++++++++++
2 files changed, 70 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/6b83abe9/haox-kerb/kerb-core-test/src/main/resources/tgsrep.token
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-core-test/src/main/resources/tgsrep.token b/haox-kerb/kerb-core-test/src/main/resources/tgsrep.token
new file mode 100644
index 0000000..25d6270
Binary files /dev/null and b/haox-kerb/kerb-core-test/src/main/resources/tgsrep.token differ
http://git-wip-us.apache.org/repos/asf/directory-kerberos/blob/6b83abe9/haox-kerb/kerb-core-test/src/test/java/org/apache/kerberos/kerb/codec/test/TestTgsrepCodec.java
----------------------------------------------------------------------
diff --git a/haox-kerb/kerb-core-test/src/test/java/org/apache/kerberos/kerb/codec/test/TestTgsrepCodec.java b/haox-kerb/kerb-core-test/src/test/java/org/apache/kerberos/kerb/codec/test/TestTgsrepCodec.java
new file mode 100644
index 0000000..21cc684
--- /dev/null
+++ b/haox-kerb/kerb-core-test/src/test/java/org/apache/kerberos/kerb/codec/test/TestTgsrepCodec.java
@@ -0,0 +1,70 @@
+/**
+ * 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.kerb.codec.test;
+
+import org.apache.kerberos.kerb.spec.common.KrbMessageType;
+import org.apache.kerberos.kerb.spec.common.NameType;
+import org.apache.kerberos.kerb.spec.common.PrincipalName;
+import org.apache.kerberos.kerb.spec.kdc.TgsRep;
+import org.apache.kerberos.kerb.spec.ticket.Ticket;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.IOException;
+
+/**
+ * Test TgsRep message using a real 'correct' network packet captured from MS-AD to detective programming errors
+ * and compatibility issues particularly regarding Kerberos crypto.
+ */
+public class TestTgsRepCodec {
+
+ @Test
+ public void test() throws IOException {
+ byte[] bytes = CodecTestUtil.readBinaryFile("/tgsrep.token");
+ TgsRep tgsRep = new TgsRep();
+ tgsRep.decode(bytes);
+
+ Assert.assertEquals(tgsRep.getPvno(), 5);
+ Assert.assertEquals(tgsRep.getMsgType(), KrbMessageType.TGS_REP);
+ Assert.assertEquals(tgsRep.getCrealm(), "DENYDC.COM");
+
+ PrincipalName cname = tgsRep.getCname();
+ Assert.assertEquals(cname.getNameType(), NameType.NT_PRINCIPAL);
+ Assert.assertEquals(cname.getNameStrings().size(), 1);
+ Assert.assertEquals(cname.getNameStrings().iterator().next(), "des");
+
+ Ticket ticket = tgsRep.getTicket();
+ Assert.assertEquals(ticket.getTktvno(), 5);
+ Assert.assertEquals(ticket.getRealm(), "DENYDC.COM");
+ PrincipalName sname = ticket.getSname();
+ Assert.assertEquals(sname.getNameType(), NameType.NT_SRV_HST);
+ Assert.assertEquals(sname.getNameStrings().size(), 2);
+ Assert.assertEquals(sname.getNameStrings().get(0), "host");
+ Assert.assertEquals(sname.getNameStrings().get(1), "xp1.denydc.com");
+ //EncTicketPart encTicketPart = ticket.getEncPart();//FIXME null pointer!!
+ //Assert.assertEquals(encTicketPart.getKey().getKeyType().getValue(), 23);
+ //Assert.assertEquals(encTicketPart.getKey().getKvno(), 2);
+ //TODO decode cipher
+
+ //EncKdcRepPart encKdcRepPart = tgsRep.getEncPart();//FIXME null pointer!!
+ //Assert.assertEquals(encKdcRepPart.getKey().getKeyType().getValue(), 3);
+ //TODO decode cinpher
+ }
+}