You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by er...@apache.org on 2004/11/09 12:22:19 UTC

svn commit: rev 57017 - in incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos: crypto crypto/checksum util

Author: erodriguez
Date: Tue Nov  9 03:22:16 2004
New Revision: 57017

Removed:
   incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/util/OctetUtils.java
Modified:
   incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/CryptoService.java
   incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/checksum/Crc32Checksum.java
Log:
Split OctetUtils to where they were used.

Modified: incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/CryptoService.java
==============================================================================
--- incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/CryptoService.java	(original)
+++ incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/CryptoService.java	Tue Nov  9 03:22:16 2004
@@ -21,7 +21,6 @@
 import org.apache.kerberos.kdc.KerberosException;
 import org.apache.kerberos.messages.value.EncryptedData;
 import org.apache.kerberos.messages.value.EncryptionKey;
-import org.apache.kerberos.util.OctetUtils;
 
 import java.util.Date;
 import java.util.HashMap;
@@ -68,7 +67,7 @@
 	public static byte[] getEncryptedTimestamp(EncryptionKey key, Date date)
 			throws KerberosException {
 		EncryptionEngine encryptionEngine = getInstance(key.getKeyType());
-		byte[] plaintext = OctetUtils.long2octet(date.getTime());
+		byte[] plaintext = long2octet(date.getTime());
 		return encryptionEngine.encrypt(plaintext, key.getKeyValue());
 	}
 	
@@ -106,7 +105,15 @@
 		
 		return new EncryptedData(type.encryptionType(), key.getKeyVersion(), encryptedData);
 	}
-	
+
+    private static byte[] long2octet(long input) {
+		byte[] output = new byte[8];
+		for (int i = 0; i < 8; i++) {
+			output[i] =	(byte)((input >>> ((7 - i) * 8)) & 0xffL);
+		}
+		return output;
+	}
+
 	// TODO - The classes below are key production util code and I can picture them moving
 	//        to a key production base class when I add DES3 and/or AES support.
 	

Modified: incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/checksum/Crc32Checksum.java
==============================================================================
--- incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/checksum/Crc32Checksum.java	(original)
+++ incubator/directory/kerberos/trunk/kerberos/src/java/org/apache/kerberos/crypto/checksum/Crc32Checksum.java	Tue Nov  9 03:22:16 2004
@@ -16,51 +16,69 @@
  */
 package org.apache.kerberos.crypto.checksum;
 
-import org.apache.kerberos.crypto.encryption.*;
-import org.apache.kerberos.util.*;
+import org.apache.kerberos.crypto.encryption.CipherType;
 
-import java.util.zip.*;
+import java.util.zip.CRC32;
 
-public class Crc32Checksum implements ChecksumEngine {
+public class Crc32Checksum implements ChecksumEngine
+{
+	private final CRC32 crc32 = new CRC32();
 
-	private static final CRC32 crc32 = new CRC32();
-
-	public ChecksumType checksumType() {
+	public ChecksumType checksumType()
+    {
 		return ChecksumType.CRC32;
 	}
 
-	public CipherType keyType() {
+	public CipherType keyType()
+    {
 		return CipherType.NULL;
 	}
 
-	public int checksumSize() {
-		return 4;
+	public int checksumSize()
+    {
+        return 4;
 	}
 
-	public int keySize() {
+	public int keySize()
+    {
 		return 0;
 	}
 
-	public int confounderSize() {
+	public int confounderSize()
+    {
 		return 0;
 	}
 
-	public boolean isSafe() {
+	public boolean isSafe()
+    {
 		return false;
 	}
 
-	public synchronized byte[] calculateChecksum(byte[] data) {
+	public synchronized byte[] calculateChecksum( byte[] data )
+    {
 		crc32.reset();
-		crc32.update(data);
-		return OctetUtils.int2octet((int) crc32.getValue());
+		crc32.update( data );
+		return int2octet( (int)crc32.getValue() );
 	}
 
-	public byte[] calculateKeyedChecksum(byte[] data, byte[] key) {
+	public byte[] calculateKeyedChecksum( byte[] data, byte[] key )
+    {
 		return null;
 	}
 
-	public boolean verifyKeyedChecksum(byte[] data, byte[] key, byte[] checksum) {
+	public boolean verifyKeyedChecksum( byte[] data, byte[] key, byte[] checksum )
+    {
 		return false;
+	}
+
+    private byte[] int2octet( int value )
+    {
+		byte[] bytes = new byte[4];
+		int i, shift;
+
+		for (i = 0, shift = 24; i < 4; i++, shift -= 8)
+			bytes[i] = (byte) (0xFF & (value >> shift));
+		return bytes;
 	}
 }