Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 5535 invoked from network); 4 May 2007 04:43:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 May 2007 04:43:52 -0000 Received: (qmail 55206 invoked by uid 500); 4 May 2007 04:43:58 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 55164 invoked by uid 500); 4 May 2007 04:43:58 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 55153 invoked by uid 99); 4 May 2007 04:43:58 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 May 2007 21:43:58 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 May 2007 21:43:51 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 511B81A9838; Thu, 3 May 2007 21:43:31 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r535090 - in /directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io: decoder/ encoder/ Date: Fri, 04 May 2007 04:43:31 -0000 To: commits@directory.apache.org From: erodriguez@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070504044331.511B81A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: erodriguez Date: Thu May 3 21:43:30 2007 New Revision: 535090 URL: http://svn.apache.org/viewvc?view=rev&rev=535090 Log: o Added static convenience methods to ASN.1 codecs for EncryptionKey to allow "one-shot" encoding and decoding. o Collateral refactoring due to method rename. Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/decoder/EncryptionKeyDecoder.java directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncApRepPartEncoder.java directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncKdcRepPartEncoder.java directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncTicketPartEncoder.java directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncryptionKeyEncoder.java Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/decoder/EncryptionKeyDecoder.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/decoder/EncryptionKeyDecoder.java?view=diff&rev=535090&r1=535089&r2=535090 ============================================================================== --- directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/decoder/EncryptionKeyDecoder.java (original) +++ directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/decoder/EncryptionKeyDecoder.java Thu May 3 21:43:30 2007 @@ -20,10 +20,12 @@ package org.apache.directory.server.kerberos.shared.io.decoder; +import java.io.IOException; import java.util.Enumeration; import org.apache.directory.server.kerberos.shared.crypto.encryption.EncryptionType; import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey; +import org.apache.directory.shared.asn1.der.ASN1InputStream; import org.apache.directory.shared.asn1.der.DEREncodable; import org.apache.directory.shared.asn1.der.DERInteger; import org.apache.directory.shared.asn1.der.DEROctetString; @@ -37,6 +39,16 @@ */ public class EncryptionKeyDecoder { + public static EncryptionKey decode( byte[] encodedEncryptionKey ) throws IOException + { + ASN1InputStream ais = new ASN1InputStream( encodedEncryptionKey ); + + DERSequence sequence = ( DERSequence ) ais.readObject(); + + return decode( sequence ); + } + + /** * EncryptionKey ::= SEQUENCE { * keytype[0] INTEGER, Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncApRepPartEncoder.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncApRepPartEncoder.java?view=diff&rev=535090&r1=535089&r2=535090 ============================================================================== --- directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncApRepPartEncoder.java (original) +++ directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncApRepPartEncoder.java Thu May 3 21:43:30 2007 @@ -69,7 +69,7 @@ if ( message.getSubSessionKey() != null ) { - sequence.add( new DERTaggedObject( 2, EncryptionKeyEncoder.encode( message.getSubSessionKey() ) ) ); + sequence.add( new DERTaggedObject( 2, EncryptionKeyEncoder.encodeSequence( message.getSubSessionKey() ) ) ); } if ( message.getSequenceNumber() != null ) Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncKdcRepPartEncoder.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncKdcRepPartEncoder.java?view=diff&rev=535090&r1=535089&r2=535090 ============================================================================== --- directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncKdcRepPartEncoder.java (original) +++ directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncKdcRepPartEncoder.java Thu May 3 21:43:30 2007 @@ -82,7 +82,7 @@ { DERSequence sequence = new DERSequence(); - sequence.add( new DERTaggedObject( 0, EncryptionKeyEncoder.encode( reply.getKey() ) ) ); + sequence.add( new DERTaggedObject( 0, EncryptionKeyEncoder.encodeSequence( reply.getKey() ) ) ); sequence.add( new DERTaggedObject( 1, LastRequestEncoder.encode( reply.getLastRequest() ) ) ); sequence.add( new DERTaggedObject( 2, DERInteger.valueOf( reply.getNonce() ) ) ); Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncTicketPartEncoder.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncTicketPartEncoder.java?view=diff&rev=535090&r1=535089&r2=535090 ============================================================================== --- directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncTicketPartEncoder.java (original) +++ directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncTicketPartEncoder.java Thu May 3 21:43:30 2007 @@ -82,7 +82,7 @@ DERSequence sequence = new DERSequence(); sequence.add( new DERTaggedObject( 0, new DERBitString( ticketPart.getFlags().getBytes() ) ) ); - sequence.add( new DERTaggedObject( 1, EncryptionKeyEncoder.encode( ticketPart.getSessionKey() ) ) ); + sequence.add( new DERTaggedObject( 1, EncryptionKeyEncoder.encodeSequence( ticketPart.getSessionKey() ) ) ); sequence.add( new DERTaggedObject( 2, DERGeneralString.valueOf( ticketPart.getClientRealm().toString() ) ) ); sequence.add( new DERTaggedObject( 3, PrincipalNameEncoder.encode( ticketPart.getClientPrincipal() ) ) ); sequence.add( new DERTaggedObject( 4, TransitedEncodingEncoder.encode( ticketPart.getTransitedEncoding() ) ) ); Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncryptionKeyEncoder.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncryptionKeyEncoder.java?view=diff&rev=535090&r1=535089&r2=535090 ============================================================================== --- directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncryptionKeyEncoder.java (original) +++ directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/io/encoder/EncryptionKeyEncoder.java Thu May 3 21:43:30 2007 @@ -20,7 +20,11 @@ package org.apache.directory.server.kerberos.shared.io.encoder; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey; +import org.apache.directory.shared.asn1.der.ASN1OutputStream; import org.apache.directory.shared.asn1.der.DERInteger; import org.apache.directory.shared.asn1.der.DEROctetString; import org.apache.directory.shared.asn1.der.DERSequence; @@ -33,7 +37,19 @@ */ public class EncryptionKeyEncoder { - protected static DERSequence encode( EncryptionKey key ) + public static byte[] encode( EncryptionKey key ) throws IOException + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ASN1OutputStream aos = new ASN1OutputStream( baos ); + + aos.writeObject( encodeSequence( key ) ); + aos.close(); + + return baos.toByteArray(); + } + + + protected static DERSequence encodeSequence( EncryptionKey key ) { DERSequence vector = new DERSequence();