Return-Path: X-Original-To: apmail-directory-users-archive@www.apache.org Delivered-To: apmail-directory-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0BA6C9887 for ; Wed, 29 Feb 2012 17:59:22 +0000 (UTC) Received: (qmail 46529 invoked by uid 500); 29 Feb 2012 17:59:21 -0000 Delivered-To: apmail-directory-users-archive@directory.apache.org Received: (qmail 46481 invoked by uid 500); 29 Feb 2012 17:59:21 -0000 Mailing-List: contact users-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@directory.apache.org Delivered-To: mailing list users@directory.apache.org Received: (qmail 46473 invoked by uid 99); 29 Feb 2012 17:59:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Feb 2012 17:59:21 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of elecharny@gmail.com designates 74.125.82.42 as permitted sender) Received: from [74.125.82.42] (HELO mail-ww0-f42.google.com) (74.125.82.42) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 29 Feb 2012 17:59:16 +0000 Received: by wgbds10 with SMTP id ds10so470437wgb.1 for ; Wed, 29 Feb 2012 09:58:54 -0800 (PST) Received-SPF: pass (google.com: domain of elecharny@gmail.com designates 10.180.85.35 as permitted sender) client-ip=10.180.85.35; Authentication-Results: mr.google.com; spf=pass (google.com: domain of elecharny@gmail.com designates 10.180.85.35 as permitted sender) smtp.mail=elecharny@gmail.com; dkim=pass header.i=elecharny@gmail.com Received: from mr.google.com ([10.180.85.35]) by 10.180.85.35 with SMTP id e3mr10719198wiz.6.1330538334768 (num_hops = 1); Wed, 29 Feb 2012 09:58:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:reply-to:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=/LAbuQ6M63WlqXgf93nBUdNOwjQQ3rOtFk7fdEGwIAg=; b=stUPiAbA2WAazvTfh2AegzNgkJ8Pge5/Tf3dj4ixmq6qB2pRYwzfYG8pi+m6DHI8UW e38u3Y/fULD+FopKgttG8E0e5X4ZZk2Xo8MwcsDEC164BLm0f7HDdrmJea12I0oPKo0I 4+z8Jzjtmk1hzs5i2WhlJXMeSvBaigNQKA67s= Received: by 10.180.85.35 with SMTP id e3mr8626247wiz.6.1330538334703; Wed, 29 Feb 2012 09:58:54 -0800 (PST) Received: from Emmanuels-MacBook-Pro.local (ran75-1-78-192-106-184.fbxo.proxad.net. [78.192.106.184]) by mx.google.com with ESMTPS id fl2sm90582124wib.4.2012.02.29.09.58.54 (version=SSLv3 cipher=OTHER); Wed, 29 Feb 2012 09:58:54 -0800 (PST) Message-ID: <4F4E675D.6090805@gmail.com> Date: Wed, 29 Feb 2012 18:58:53 +0100 From: =?UTF-8?B?RW1tYW51ZWwgTMOpY2hhcm55?= Reply-To: elecharny@apache.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: users@directory.apache.org Subject: Re: ava.io.EOFException: ERR_00021 EOF encountered in middle of object; org.apache.directory.shared.asn1.der.ASN1InputStream.readFully References: <2798821A1308FA4F976D89E1ABA9745A1312A688@IT-EXMB2.ad.jmu.edu> In-Reply-To: <2798821A1308FA4F976D89E1ABA9745A1312A688@IT-EXMB2.ad.jmu.edu> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org FYI, the decoded AS-REP message and KRB-ERROR messages, once decoded, are= : AS-REP pvno : 5 msg-type : padata : PreAuthenticationData : { padata-type: null(0) padata-value:0x30 0x22 0x30 0x20 0xA0 0x03 0x02 0x01 0x11 0xA1 0x19 = 0x1B 0x17 0x43 0x52 0x59 0x50 0x54 0x4F 0x2E 0x43 0x53 0x2E 0x4A 0x4D=20 0x55 0x2E 0x45 0x44 0x55 0x77 0x61 0x6E 0x67 0x78 0x78 } crealm : CRYPTO.CS.JMU.EDU cname : PrincipalName : { name-type: KRB_NT_PRINCIPAL name-string : <'wangxx'> } ticket : Ticket : tkt-vno : 5 realm : CRYPTO.CS.JMU.EDU sname : PrincipalName : { name-type: KRB_NT_SRV_INST name-string : <'krbtgt', 'CRYPTO.CS.JMU.EDU'> } enc-part : EncryptedData : { etype: rc4-hmac (23) kvno: 2 cipher: 0x64 0x4C 0x42 0x02 0x42 0x0D 0xC2 0xF8 0x77 0x71 0x01 0xF9 = 0x29 0xA1 0xBB 0xE5 0x88 0x2D 0x1B 0x53 0x51 0x46 0x12 0xB9 0x56 0x27=20 0x22 0xCA 0xF3 0xBB 0xDE 0x64 0xA3 0xD9 0x2A 0x9B 0x46 0x20 0x4D 0xFC=20 0x45 0x3E 0x03 0xEE 0xD6 0xA2 0x95 0x09 0x55 0xC4 0x0A 0x7C 0xE0 0x4B=20 0x1B 0xC0 0xB7 0x25 0x61 0x4E 0xA7 0xA3 0x48 0x85 0x90 0x3D 0x54 0x4D=20 0xE4 0x33 0x9E 0x12 0x18 0xE3 0xAF 0xC0 0x43 0x85 0x98 0xEA 0xB5 0x9D=20 0x2F 0xBB 0x59 0xBD 0xEC 0x95 0x1D 0xF6 0x05 0x5E 0xCC 0x44 0x9D 0xFC=20 0x04 0x15 0x34 0xD1 0x25 0xA7 0x18 0x51 0xFB 0x9D 0xE9 0x1E 0xEC 0x35=20 0xAF 0x9D 0x8C 0x58 0x8A 0x32 0x92 0x9E 0x1E 0xA3 0x1F 0xDD 0x8D 0x40=20 0x98 0x7A 0xF5 0xCD 0xAA 0x70 0xF6 0xAD 0x06 0xCA 0xC7 0x44 0xCF 0x79=20 0x89 0xBE 0x7C 0x66 0x8A 0x4D 0x0A 0xF9 0x7C 0xF3 0x86 0x5E 0x50 0x70=20 0xC6 0xFF 0x44 0xD3 0xF1 0xAB 0xF3 0xFB 0xAE 0x43 0x2E 0x33 0x36 0xD8=20 0xB4 0xD0 0x6D 0xAA 0x01 0x81 0xC9 0x84 0x85 0xF4 0xD3 0x31 0xD2 0x9F=20 0xAF 0xD0 0x1A 0x06 0x25 0x67 0x3B 0xA3 0xDD 0x9F 0xE6 0x5F 0x43 0x17=20 0xF3 0xC4 0xFA 0x3C 0x45 0xA2 0x6C 0xCC 0x3C 0xAA 0x65 0x15 0xB5 0x85=20 0xA2 0xBB 0x3C 0x3F 0xA7 0x81 0x04 0x62 0x74 0xE3 0x3B 0xC9 0x45 0x18=20 0xCC 0x2F 0xD2 0x7F 0xB6 0x0E 0xCB 0xE2 0x47 0x9F 0x33 0x0B 0x35 0x30=20 0xA0 0x11 0x86 0x5F 0xF0 0xA1 0x52 0x82 0xD2 0x7E 0x5B 0x3F 0x1E 0x2E=20 0x34 0x13 0x1E 0xFE 0x28 0xED 0x81 0x9B 0x1C 0x73 0xCE 0x27 0xDF 0xB1=20 0xC5 0xE5 0x41 0x9A 0xA6 0x8F 0xCC 0x3C 0x39 0x94 0xBD 0xC3 0x7C 0x53=20 0xE1 0xAC 0x03 0xF6 0x45 0xFB 0x00 0xBC 0x24 0xFF 0x35 0x06 0xA9 0xD1=20 0x1C 0x7E 0x63 0xDD 0xDD 0xE9 0x38 0xAC 0x88 0x94 0x7F 0x81 0x02 0x17=20 0xBE 0x6F 0x5B 0xB1 0xC3 0xD6 0x91 0xA0 0x73 0x74 0xE4 0x58 0x0A 0x34=20 0xC5 0x6B 0x04 0xF0 0x82 0x3E 0x65 0x69 0xF0 0xA8 0xC5 0x1B 0x3C 0x8C=20 0x8A 0x0F 0xBB 0x96 0x63 0x85 0x9E 0x0E 0xC2 0x10 0xE6 0x1E 0x22 0x86=20 0x0A 0xE4 0xC5 0x66 0x11 0xB2 0xBF 0xE3 0x75 0x43 0x88 0x38 0xCD 0x11=20 0xC5 0x93 0xD0 0xE2 0xCF 0x62 0x08 0xF3 0xD0 0xF2 0x16 0x6D 0x23 0xF6=20 0x35 0x02 0x53 0xBC 0x01 0x71 0xA7 0x2D 0xCD 0xA3 0xD3 0x1D 0x33 0xD6=20 0x46 0x07 0x53 0x7D 0xBB 0x19 0xC7 0x6B 0x8F 0x68 0x4D 0x3C 0x61 0x9E=20 0xBA 0x19 0xED 0x8B 0xE7 0x0B 0x65 0x10 0xA9 0xA5 0x78 0x83 0x25 0x68=20 0xBF 0x84 0x4F 0x1E 0xA9 0x11 0x89 0x6A 0xF6 0x05 0x5E 0xB3 0xA6 0xBF=20 0xB1 0x26 0xC7 0xAA 0x9F 0x95 0x14 0x75 0xF3 0x36 0xC7 0xD6 0xFA 0x7E=20 0xF4 0x8C 0xD3 0x9E 0x8D 0x99 0x46 0x64 0x12 0x91 0xEC 0x67 0x99 0xC3=20 0x04 0xD0 0x95 0x87 0x5C 0x56 0x00 0x56 0xC6 0xC4 0x82 0x19 0x4D 0x0D=20 0x09 0x58 0x59 0xAE 0x46 0x29 0x7B 0x9D 0x75 0x7A 0x61 0x20 0x48 0x2A=20 0x2B 0xA7 0xC0 0x73 0xCC 0x84 0x2C 0xB6 0xA0 0xF3 0x92 0x94 0xBD 0x7A=20 0xCC 0x7F 0x19 0xE4 0xE1 0x27 0x02 0x27 0x86 0x24 0xC0 0xD3 0x00 0x05=20 0x80 0x46 0x6B 0xE3 0x13 0xA5 0x9D 0x1F 0x4B 0x47 0xF2 0xA6 0x99 0xF6=20 0xDA 0x22 0x13 0x99 0x7A 0x42 0x48 0x3B 0x18 0xF7 0x17 0xEF 0xF9 0x59=20 0xB3 0x30 0xD7 0x3C 0x61 0xBF 0x60 0xB3 0xD6 0xB3 0x50 0x52 0x8B 0x46=20 0x43 0x02 0xB7 0x02 0x07 0xC9 0xCA 0xBE 0x51 0xAE 0x10 0x89 0x8A 0x36=20 0xC4 0xE9 0x39 0xCF 0x41 0x2B 0x6F 0x99 0xA0 0x9C 0xA8 0x6A 0xAC 0x8C=20 0x00 0x43 0xC1 0x17 0xA6 0xC4 0xE5 0xF8 0xB6 0x06 0xFC 0xAB 0x0C 0xAE=20 0xAE 0xFA 0xE7 0x0F 0x35 0x93 0x38 0xE5 0x8A 0xD1 0x6E 0xB5 0xCD 0x3D=20 0x20 0xC4 0xF7 0x58 0xF8 0x52 0xC1 0x8E 0xEC 0x13 0x02 0xCE 0xBB 0x63=20 0xC0 0xC8 0xF4 0x48 0xBC 0xCB 0x36 0xC2 0xA6 0x2E 0x2B 0xE3 0x53 0x4A=20 0xBA 0x81 0x6B 0x7E 0x26 0x67 0x2E 0x76 0xE3 0x5A 0xF3 0x79 0x0F 0x84=20 0xCB 0x57 0xEA 0xAA 0x05 0xBF 0xB4 0x99 0x49 0xF8 0xC7 0xBC 0xCB 0xB6=20 0xD2 0x28 0xEC 0x49 0xE1 0x9D 0xAC 0x51 0xCB 0x67 0xEE 0x89 0x08 0xF5=20 0x77 0x29 0x73 0xE5 0xAB 0x00 0x0F 0x0C 0xA6 0x00 0xBC 0x87 0xF6 0x31=20 0xD2 0x15 0x34 0xF6 0x9A 0xCA 0x1B 0xD6 0x56 0xEF 0xBF 0x4F 0x26 0xC6=20 0x59 0xB2 0x34 0x35 0xC1 0x35 0x70 0x91 0xA5 0xEA 0x41 0x66 0xD2 0x1E=20 0xE3 0xF0 0x77 0xB8 0x89 0x28 0x1B 0x9C 0x99 0x66 0x78 0xD2 0x57 0xE2=20 0x84 0x9A 0xA2 0xC2 0x1D 0x32 0xC2 0xE2 0x84 0x06 0xDD 0x64 0xA7 0x52=20 0x1D 0x80 0x9D 0xB1 0x54 0xB6 0xF3 0x6A 0x68 0x39 0x9B 0xED 0xCB 0x3A=20 0xC9 0x09 0x06 0xF3 0x16 0xB8 0xB6 0x7E 0xBB 0xC3 0xCD 0x3B 0x5B 0x5E=20 0x99 0x1A 0x25 0x13 0x9E 0xE8 0xBF 0xF9 0x49 0x35 0x34 0x0C 0x7D 0xDB=20 0x2D 0x33 0x78 0x3B 0xFD 0xB9 0xB7 0x9D 0xC1 0x3B 0x62 0xE6 0x00 0xC8=20 0x01 0xB0 0xF9 0x90 0x83 0x03 0x91 0xB7 0x52 0x63 0x52 0xBF 0x4C 0x79=20 0x9E 0x30 0x93 0x71 0xDC 0x10 0x90 0x76 0x56 0x49 0xD2 0xA9 0x34 0xF0=20 0xCA 0x9E 0x07 0xA7 0x8F 0x8C 0xD5 0x9E 0x42 0xF9 0xC8 0x02 0x46 0xC2=20 0x9F 0xE1 0x7D 0x33 0xB9 0x6B 0x2B 0x7D 0x36 0x4B 0x29 0x1E 0x86 0x45=20 0xF0 0xAA 0x6E 0x72 0x63 0xC1 0xEA 0xB1 0xE7 0xA3 0x23 0x1F 0x55 0x62=20 0xFA 0x9B 0x77 0x63 0x2C 0x2C 0x48 0x96 0x09 0xBE 0xE1 0x58 0xC1 } enc-part : EncryptedData : { etype: aes128-cts-hmac-sha1-96 (17) kvno: 2 cipher: 0x38 0xBF 0xBD 0xEF 0x76 0x13 0xDE 0xDE 0x4F 0x09 0x66 0x24 = 0x60 0xDB 0x2E 0xBC 0xAD 0x50 0xFA 0x61 0xF8 0xCB 0xA9 0xCC 0xBD 0xC1=20 0x5A 0x50 0x48 0xF2 0xDE 0x99 0xF6 0xC9 0xEC 0x4A 0x68 0xDF 0xF5 0x95=20 0xED 0x92 0x8B 0x93 0x28 0xD1 0x04 0xBC 0xA8 0x68 0x23 0xF8 0x59 0x59=20 0xD8 0x21 0xC6 0x2F 0x48 0x8A 0xCF 0x50 0x43 0x18 0x40 0x89 0x0D 0x52=20 0x1B 0xE2 0xD8 0x33 0x25 0x71 0xA4 0x3E 0x0D 0x23 0x87 0x35 0xA8 0xD1=20 0x88 0xA2 0x3B 0x5E 0x81 0x77 0x6B 0x15 0x17 0x70 0xB5 0x16 0xC0 0xE3=20 0x47 0x8D 0xAA 0xBD 0x75 0x33 0xB8 0xD9 0x1F 0x80 0x74 0x46 0x35 0xB3=20 0x1E 0x6E 0x85 0xDF 0xE0 0x12 0x00 0xC7 0x16 0x50 0x39 0x83 0xE5 0x76=20 0x72 0xE4 0x96 0x24 0x4A 0x9E 0x15 0x6E 0x6A 0xDC 0xBD 0x1B 0xBA 0x35=20 0x99 0x7E 0x8D 0xF9 0x3A 0xBD 0x1E 0x6A 0x5F 0xF9 0x79 0x74 0x4D 0xB9=20 0x8E 0x18 0x0C 0xC5 0x65 0x3A 0x59 0x81 0xA3 0x82 0x85 0xFC 0xF1 0x32=20 0x3A 0x24 0x78 0x87 0xFC 0xF1 0xDF 0x76 0x0D 0x15 0xA4 0xBF 0x2F 0x2C=20 0x5F 0x1C 0xC8 0x8C 0x8D 0x3E 0xAD 0x1F 0x1B 0xD8 0xFA 0x96 0x41 0xF3=20 0x21 0x2C 0x13 0x92 0x4D 0x98 0x74 0x75 0x6C 0x82 0x2C 0x0B 0xEB 0xE4=20 0xD4 0x5B 0xC2 0xA4 0x7A 0xE4 0x1D 0x31 0x9A 0x26 0x7E 0xD2 0x6A 0xD9=20 0xD7 0xF9 0x67 0x1C 0x38 0xA2 0x81 0x05 0xE1 0x8B 0xBE 0x5C 0x7D 0xD2=20 0xA0 0x0C 0x0A 0xF0 0x8A 0x48 0x13 0x35 0xDB 0x9D 0xA3 } KRB-ERROR : { pvno: 5 msgType: KRB_ERROR sTime: null susec: 0 errorCode: null realm: null sName: null } Here is the modified code I used : package org.apache.directory; import static org.junit.Assert.fail; import java.nio.ByteBuffer; import org.apache.directory.shared.asn1.DecoderException; import org.apache.directory.shared.asn1.ber.Asn1Decoder; import org.apache.directory.shared.kerberos.codec.asRep.AsRepContainer; import=20 org.apache.directory.shared.kerberos.codec.krbError.KrbErrorContainer; import org.apache.directory.shared.kerberos.messages.AsRep; import org.apache.directory.shared.kerberos.messages.KrbError; import org.apache.directory.shared.util.Strings; public class SimpleDecoder { private String asErrorStr =3D=20 "7e82010e3082010aa003020105a10302011ea411180f3230313230323137303333393335= 5aa505020303b5daa603020119a9131b1143525950544f2e43532e4a4d552e454455aa263= 024a003020102a11d301b1b066b72627467741b1143525950544f2e43532e4a4d552e4544= 55ac81a104819e30819b3078a103020113a271046f306d3020a003020111a1191b1743525= 950544f2e43532e4a4d552e45445577616e6778783005a0030201173020a003020103a119= 1b1743525950544f2e43532e4a4d552e45445577616e6778783020a003020101a1191b174= 3525950544f2e43532e4a4d552e45445577616e6778783009a103020102a20204003009a1= 03020110a20204003009a10302010fa2020400"; private String asRepStr =3D=20 "6b82055f3082055ba003020105a10302010ba231302f302da103020113a2260424302230= 20a003020111a1191b1743525950544f2e43532e4a4d552e45445577616e677878a3131b1= 143525950544f2e43532e4a4d552e454455a4133011a003020101a10a30081b0677616e67= 7878a58203e1618203dd308203d9a003020105a1131b1143525950544f2e43532e4a4d552= e454455a2263024a003020102a11d301b1b066b72627467741b1143525950544f2e43532e= 4a4d552e454455a38203933082038fa003020117a103020102a28203810482037d644c420= 2420dc2f8777101f929a1bbe5882d1b53514612b9562722caf3bbde64a3d92a9b46204dfc= 453e03eed6a2950955c40a7ce04b1bc0b725614ea7a34885903d544de4339e1218e3afc04= 38598eab59d2fbb59bdec951df6055ecc449dfc041534d125a71851fb9de91eec35af9d8c= 588a32929e1ea31fdd8d40987af5cdaa70f6ad06cac744cf7989be7c668a4d0af97cf3865= e5070c6ff44d3f1abf3fbae432e3336d8b4d06daa0181c98485f4d331d29fafd01a062567= 3ba3dd9fe65f4317f3c4fa3c45a26ccc3caa6515b585a2bb3c3fa781046274e33bc94518c= c2fd27fb60ecbe2479f330b3530a011865ff0a15282d27e5b3f1e2e34131efe28ed819b1c= 73ce27dfb1c5e5419aa68fcc3c3994bdc37c53e1ac03f645fb00bc24ff3506a9d11c7e63d= ddde938ac88947f810217be6f5bb1c3d691a07374e4580a34c56b04f0823e6569f0a8c51b= 3c8c8a0fbb9663859e0ec210e61e22860ae4c56611b2bfe375438838cd11c593d0e2cf620= 8f3d0f2166d23f6350253bc0171a72dcda3d31d33d64607537dbb19c76b8f684d3c619eba= 19ed8be70b6510a9a578832568bf844f1ea911896af6055eb3a6bfb126c7aa9f951475f33= 6c7d6fa7ef48cd39e8d9946641291ec6799c304d095875c560056c6c482194d0d095859ae= 46297b9d757a6120482a2ba7c073cc842cb6a0f39294bd7acc7f19e4e12702278624c0d30= 00580466be313a59d1f4b47f2a699f6da2213997a42483b18f717eff959b330d73c61bf60= b3d6b350528b464302b70207c9cabe51ae10898a36c4e939cf412b6f99a09ca86aac8c004= 3c117a6c4e5f8b606fcab0caeaefae70f359338e58ad16eb5cd3d20c4f758f852c18eec13= 02cebb63c0c8f448bccb36c2a62e2be3534aba816b7e26672e76e35af3790f84cb57eaaa0= 5bfb49949f8c7bccbb6d228ec49e19dac51cb67ee8908f5772973e5ab000f0ca600bc87f6= 31d21534f69aca1bd656efbf4f26c659b23435c1357091a5ea4166d21ee3f077b889281b9= c996678d257e2849aa2c21d32c2e28406dd64a7521d809db154b6f36a68399bedcb3ac909= 06f316b8b67ebbc3cd3b5b5e991a25139ee8bff94935340c7ddb2d33783bfdb9b79dc13b6= 2e600c801b0f990830391b7526352bf4c799e309371dc1090765649d2a934f0ca9e07a78f= 8cd59e42f9c80246c29fe17d33b96b2b7d364b291e8645f0aa6e7263c1eab1e7a3231f556= 2fa9b77632c2c489609bee158c1a682010b30820107a003020111a103020102a281fa0481= f738bfbdef7613dede4f09662460db2ebcad50fa61f8cba9ccbdc15a5048f2de99f6c9ec4= a68dff595ed928b9328d104bca86823f85959d821c62f488acf50431840890d521be2d833= 2571a43e0d238735a8d188a23b5e81776b151770b516c0e3478daabd7533b8d91f8074463= 5b31e6e85dfe01200c716503983e57672e496244a9e156e6adcbd1bba35997e8df93abd1e= 6a5ff979744db98e180cc5653a5981a38285fcf1323a247887fcf1df760d15a4bf2f2c5f1= cc88c8d3ead1f1bd8fa9641f3212c13924d9874756c822c0bebe4d45bc2a47ae41d319a26= 7ed26ad9d7f9671c38a28105e18bbe5c7dd2a00c0af08a481335db9da3"; private byte asRepBytes[] =3D null; private byte asErrBytes[] =3D null; public void init () { asRepBytes =3D Strings.toByteArray( asRepStr ); asErrBytes =3D Strings.toByteArray(asErrorStr ); } public void parseMessages () { try { Asn1Decoder kerberosDecoder =3D new Asn1Decoder(); System.out.println ("# of bytes =3D " + asRepBytes.length); ByteBuffer buf =3D ByteBuffer.wrap (asRepBytes); AsRepContainer asRepContainer =3D new AsRepContainer( buf );= asRepContainer.setAsRep( new AsRep() ); // Decode the KdcRep PDU try { kerberosDecoder.decode( buf, asRepContainer ); } catch ( DecoderException de ) { fail( de.getMessage() ); } AsRep asRep =3D asRepContainer.getAsRep(); System.out.println( asRep ); System.out.println(=20 "---------------------------------------------------------" ); ByteBuffer buf2 =3D ByteBuffer.wrap (asErrBytes); KrbErrorContainer krbErrorContainer =3D new=20 KrbErrorContainer( buf2 ); krbErrorContainer.setKrbError( new KrbError() ); try { kerberosDecoder.decode( buf2, asRepContainer ); } catch ( DecoderException de ) { fail( de.getMessage() ); } KrbError krbError =3D krbErrorContainer.getKrbError(); System.out.println( krbError ); } catch (Exception ex) { ex.printStackTrace (); } } public static void main (String[] args) { SimpleDecoder sd =3D new SimpleDecoder (); sd.init (); sd.parseMessages (); } } Le 2/29/12 6:16 PM, Wang, Xunhua - wangxx a =C3=A9crit : > Hi, > > Hope I am posting to the right list. If not, please let me know. > > I am trying to use the org.apache.directory.server.kerberos.shared.io.d= ecoder.KdcReplyDecoder and the ErrorMessageDecoder classes to parse an AS= _REP message and an error message (In response to an AS_REQ request). > > However, in both cases, I got the following error: > +++++ ERROR BEGINS +++++ > java.io.EOFException: ERR_00021 EOF encountered in middle of object. > at org.apache.directory.shared.asn1.der.ASN1InputStream.readFu= lly(ASN1InputStream.java:176) > at org.apache.directory.shared.asn1.der.ASN1InputStream.readOb= ject(ASN1InputStream.java:523) > at org.apache.directory.server.kerberos.shared.io.decoder.KdcR= eplyDecoder.decode(KdcReplyDecoder.java:64) > at SimpleDecoder.parseMessages(SimpleDecoder.java:25) > at SimpleDecoder.main(SimpleDecoder.java:39) > +++++ ERROR ENDS +++++ > > In the following code, these messages are copied from real Kerberos tra= ffic and they can be parsed by Wireshark. > > What have I done wrong? > > Thank you. > > Steve > > ++++++++++ CODE BEGINS ++++++++++ > import java.nio.ByteBuffer; > > import org.apache.directory.server.kerberos.shared.io.decoder.*; > import org.apache.directory.server.kerberos.shared.messages.*; > > public class SimpleDecoder { > private String asErrorStr =3D "7e82010e3082010aa003020105a10302011ea41= 1180f32303132303231373033333933355aa505020303b5daa603020119a9131b11435259= 50544f2e43532e4a4d552e454455aa263024a003020102a11d301b1b066b72627467741b1= 143525950544f2e43532e4a4d552e454455ac81a104819e30819b3078a103020113a27104= 6f306d3020a003020111a1191b1743525950544f2e43532e4a4d552e45445577616e67787= 83005a0030201173020a003020103a1191b1743525950544f2e43532e4a4d552e45445577= 616e6778783020a003020101a1191b1743525950544f2e43532e4a4d552e45445577616e6= 778783009a103020102a20204003009a103020110a20204003009a10302010fa2020400";= > > private String asRepStr =3D "6b82055f3082055ba003020105a10302010ba2313= 02f302da103020113a226042430223020a003020111a1191b1743525950544f2e43532e4a= 4d552e45445577616e677878a3131b1143525950544f2e43532e4a4d552e454455a413301= 1a003020101a10a30081b0677616e677878a58203e1618203dd308203d9a003020105a113= 1b1143525950544f2e43532e4a4d552e454455a2263024a003020102a11d301b1b066b726= 27467741b1143525950544f2e43532e4a4d552e454455a38203933082038fa003020117a1= 03020102a28203810482037d644c4202420dc2f8777101f929a1bbe5882d1b53514612b95= 62722caf3bbde64a3d92a9b46204dfc453e03eed6a2950955c40a7ce04b1bc0b725614ea7= a34885903d544de4339e1218e3afc0438598eab59d2fbb59bdec951df6055ecc449dfc041= 534d125a71851fb9de91eec35af9d8c588a32929e1ea31fdd8d40987af5cdaa70f6ad06ca= c744cf7989be7c668a4d0af97cf3865e5070c6ff44d3f1abf3fbae432e3336d8b4d06daa0= 181c98485f4d331d29fafd01a0625673ba3dd9fe65f4317f3c4fa3c45a26ccc3caa6515b5= 85a2bb3c3fa781046274e33bc94518cc2fd27fb60ecbe2479f330b3530a011865ff0a1528= 2d27e5b3f1e2e34131efe28ed819b1c73ce27dfb1c5e5419aa68fcc3c3994bdc37c53e1ac= 03f645fb00bc24ff3506a9d11c7e63dddde938ac88947f810217be6f5bb1c3d691a07374e= 4580a34c56b04f0823e6569f0a8c51b3c8c8a0fbb9663859e0ec210e61e22860ae4c56611= b2bfe375438838cd11c593d0e2cf6208f3d0f2166d23f6350253bc0171a72dcda3d31d33d= 64607537dbb19c76b8f684d3c619eba19ed8be70b6510a9a578832568bf844f1ea911896a= f6055eb3a6bfb126c7aa9f951475f336c7d6fa7ef48cd39e8d9946641291ec6799c304d09= 5875c560056c6c482194d0d095859ae46297b9d757a6120482a2ba7c073cc842cb6a0f392= 94bd7acc7f19e4e12702278624c0d3000580466be313a59d1f4b47f2a699f6da2213997a4= 2483b18f717eff959b330d73c61bf60b3d6b350528b464302b70207c9cabe51ae10898a36= c4e939cf412b6f99a09ca86aac8c0043c117a6c4e5f8b606fcab0caeaefae70f359338e58= ad16eb5cd3d20c4f758f852c18eec1302cebb63c0c8f448bccb36c2a62e2be3534aba816b= 7e26672e76e35af3790f84cb57eaaa05bfb49949f8c7bccbb6d228ec49e19dac51cb67ee8= 908f5772973e5ab000f0ca600bc87f631d21534f69aca1bd656efbf4f26c659b23435c135= 7091a5ea4166d21ee3f077b889281b9c996678d257e2849aa2c21d32c2e28406dd64a7521= d809db154b6f36a68399bedcb3ac90906f316b8b67ebbc3cd3b5b5e991a25139ee8bff949= 35340c7ddb2d33783bfdb9b79dc13b62e600c801b0f990830391b7526352bf4c799e30937= 1dc1090765649d2a934f0ca9e07a78f8cd59e42f9c80246c29fe17d33b96b2b7d364b291e= 8645f0aa6e7263c1eab1e7a3231f5562fa9b77632c2c489609bee158c1a682010b3082010= 7a003020111a103020102a281fa0481f738bfbdef7613dede4f09662460db2ebcad50fa61= f8cba9ccbdc15a5048f2de99f6c9ec4a68dff595ed928b9328d104bca86823f85959d821c= 62f488acf50431840890d521be2d8332571a43e0d238735a8d188a23b5e81776b151770b5= 16c0e3478daabd7533b8d91f80744635b31e6e85dfe01200c716503983e57672e496244a9= e156e6adcbd1bba35997e8df93abd1e6a5ff979744db98e180cc5653a5981a38285fcf132= 3a247887fcf1df760d15a4bf2f2c5f1cc88c8d3ead1f1bd8fa9641f3212c13924d9874756= c822c0bebe4d45bc2a47ae41d319a267ed26ad9d7f9671c38a28105e18bbe5c7dd2a00c0a= f08a481335db9da3"; > > private byte asRepBytes[] =3D null; > private byte asErrBytes[] =3D null; > > public void init () { > asRepBytes =3D stringToHex (asRepStr, 0); > asErrBytes =3D stringToHex (asErrorStr, 0); > } > > public void parseMessages () { > try { > > System.out.println ("# of bytes =3D " + asRepBytes.length); > ByteBuffer buf =3D ByteBuffer.wrap (asRepBytes); > org.apache.directory.server.kerberos.shared.io.decoder.KdcReplyDecod= er kryDecoder =3D new > org.apache.directory.server.kerberos.shared.io.decoder.KdcReplyDeco= der (); > KdcReply kry =3D kryDecoder.decode (buf); > > ErrorMessageDecoder emd =3D new ErrorMessageDecoder (); > ByteBuffer buf2 =3D ByteBuffer.wrap (asErrBytes); > ErrorMessage em =3D emd.decode (buf2); > System.out.println (em.toString ()); > } catch (Exception ex) { > ex.printStackTrace (); > } > } > > public static void main (String[] args) { > SimpleDecoder sd =3D new SimpleDecoder (); > sd.init (); > sd.parseMessages (); > } > > public static byte[] stringToHex (String inString, int startPos) { > String strTemplate =3D "0123456789ABCDEF"; > > int length =3D inString.length(); > int resLen =3D (length-startPos)/2; > byte[] res =3D new byte[resLen]; > > // System.out.println ("::stringToHex inString =3D " + inString); > > for (int i =3D 0; i< resLen; i++) { > char c1 =3D inString.charAt(2*i + startPos); > int pos1 =3D strTemplate.indexOf (c1); > char c2 =3D inString.charAt(2*i+1 + startPos); > int pos2 =3D strTemplate.indexOf (c2); > > /// System.out.println ("Integers are (" + pos1 + "," + pos2 + ")");= > > res[i] =3D (byte )(( pos1<< 4 | pos2)& 0xff); > } > > return res; > } > } > ++++++++++ CODE ENDS ++++++++++ --=20 Regards, Cordialement, Emmanuel L=C3=A9charny www.iktek.com