Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 90844 invoked from network); 4 May 2007 03:59:15 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 May 2007 03:59:15 -0000 Received: (qmail 17694 invoked by uid 500); 4 May 2007 03:59:21 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 17656 invoked by uid 500); 4 May 2007 03:59:21 -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 17644 invoked by uid 99); 4 May 2007 03:59:21 -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 20:59:21 -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 20:59:14 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 10E491A9838; Thu, 3 May 2007 20:58:54 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r535077 - /directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKey.java Date: Fri, 04 May 2007 03:58:53 -0000 To: commits@directory.apache.org From: erodriguez@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070504035854.10E491A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: erodriguez Date: Thu May 3 20:58:53 2007 New Revision: 535077 URL: http://svn.apache.org/viewvc?view=rev&rev=535077 Log: Added javadocs to EncryptionKey. Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKey.java Modified: directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKey.java URL: http://svn.apache.org/viewvc/directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKey.java?view=diff&rev=535077&r1=535076&r2=535077 ============================================================================== --- directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKey.java (original) +++ directory/apacheds/branches/kerberos-encryption-types/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/EncryptionKey.java Thu May 3 20:58:53 2007 @@ -26,6 +26,9 @@ /** + * A Kerberos symmetric encryption key, which includes metadata support for + * the associated key type and key version number. + * * @author Apache Directory Project * @version $Rev$, $Date$ */ @@ -36,46 +39,41 @@ private int keyVersion; - public EncryptionKey(EncryptionType keyType, byte[] keyValue) + /** + * Creates a new instance of EncryptionKey. + * + * @param keyType + * @param keyValue + */ + public EncryptionKey( EncryptionType keyType, byte[] keyValue ) { this.keyType = keyType; this.keyValue = keyValue; } - public EncryptionKey(EncryptionType keyType, byte[] keyValue, int keyVersion) + /** + * Creates a new instance of EncryptionKey. This constructor supports 'keyVersion', + * which is sent over the wire as part of EncryptedData but makes more sense + * in the domain model to have here as part of the key itself. Therefore, the + * keyVersion should only be constructor-injected when EncryptionKey's are + * retrieved from persisted storage. + * + * @param keyType + * @param keyValue + * @param keyVersion + */ + public EncryptionKey( EncryptionType keyType, byte[] keyValue, int keyVersion ) { this.keyType = keyType; this.keyValue = keyValue; - /** - * keyVersion is sent over the wire as part of EncryptedData but makes more sense - * in the domain model to have here as part of the key itself. Therefore, the - * keyVersion should only be constructor-injected when EncryptionKey's are - * retrieved from persisted storage. - * - * TODO - keyVersion may move into persisted user configuration - */ this.keyVersion = keyVersion; } - public boolean equals( Object o ) - { - if ( this == o ) - { - return true; - } - - if ( !( o instanceof EncryptionKey ) ) - { - return false; - } - - EncryptionKey that = ( EncryptionKey ) o; - return ( this.keyType == that.keyType ) && ( Arrays.equals( this.keyValue, that.keyValue ) ); - } - - + /** + * Destroys this key by overwriting the symmetric key material with zeros. + */ public synchronized void destroy() { if ( keyValue != null ) @@ -88,26 +86,58 @@ } - public String toString() - { - return keyType.toString() + " (" + keyType.getOrdinal() + ")"; - } - - + /** + * Returns the key type. + * + * @return The key type. + */ public EncryptionType getKeyType() { return keyType; } + /** + * Returns the key value. + * + * @return The key value. + */ public byte[] getKeyValue() { return keyValue; } + /** + * Returns the key version. + * + * @return The key version. + */ public int getKeyVersion() { return keyVersion; + } + + + public boolean equals( Object o ) + { + if ( this == o ) + { + return true; + } + + if ( !( o instanceof EncryptionKey ) ) + { + return false; + } + + EncryptionKey that = ( EncryptionKey ) o; + return ( this.keyType == that.keyType ) && ( Arrays.equals( this.keyValue, that.keyValue ) ); + } + + + public String toString() + { + return keyType.toString() + " (" + keyType.getOrdinal() + ")"; } }