From 102bc1f39f11e70e371d7868a8575108ec1c5cb6 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Fri, 20 Apr 2012 11:42:15 -0700 Subject: [PATCH] Don't use dynamic quiried key size as it varies on different JVM implementation and security providers --- .../consoleproxy/ConsoleProxyPasswordBasedEncryptor.java | 5 +++-- .../cloud/servlet/ConsoleProxyPasswordBasedEncryptor.java | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyPasswordBasedEncryptor.java b/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyPasswordBasedEncryptor.java index 8e1f7b46fd8..0320982a58e 100644 --- a/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyPasswordBasedEncryptor.java +++ b/console-proxy/src/com/cloud/consoleproxy/ConsoleProxyPasswordBasedEncryptor.java @@ -14,6 +14,7 @@ package com.cloud.consoleproxy; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; +import java.util.UUID; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; @@ -54,7 +55,7 @@ public class ConsoleProxyPasswordBasedEncryptor { try { Cipher cipher = Cipher.getInstance("DES"); - int maxKeySize = Cipher.getMaxAllowedKeyLength("DES") / 8; + int maxKeySize = 8; SecretKeySpec keySpec = new SecretKeySpec(normalizeKey(password.getBytes(), maxKeySize), "DES"); cipher.init(Cipher.ENCRYPT_MODE, keySpec); byte[] encryptedBytes = cipher.doFinal(text.getBytes()); @@ -86,7 +87,7 @@ public class ConsoleProxyPasswordBasedEncryptor { try { Cipher cipher = Cipher.getInstance("DES"); - int maxKeySize = Cipher.getMaxAllowedKeyLength("DES") / 8; + int maxKeySize = 8; SecretKeySpec keySpec = new SecretKeySpec(normalizeKey(password.getBytes(), maxKeySize), "DES"); cipher.init(Cipher.DECRYPT_MODE, keySpec); diff --git a/server/src/com/cloud/servlet/ConsoleProxyPasswordBasedEncryptor.java b/server/src/com/cloud/servlet/ConsoleProxyPasswordBasedEncryptor.java index 2d1b6f529c6..4fbd82ccb71 100644 --- a/server/src/com/cloud/servlet/ConsoleProxyPasswordBasedEncryptor.java +++ b/server/src/com/cloud/servlet/ConsoleProxyPasswordBasedEncryptor.java @@ -36,7 +36,7 @@ public class ConsoleProxyPasswordBasedEncryptor { try { Cipher cipher = Cipher.getInstance("DES"); - int maxKeySize = Cipher.getMaxAllowedKeyLength("DES") / 8; + int maxKeySize = 8; SecretKeySpec keySpec = new SecretKeySpec(normalizeKey(password.getBytes(), maxKeySize), "DES"); cipher.init(Cipher.ENCRYPT_MODE, keySpec); byte[] encryptedBytes = cipher.doFinal(text.getBytes()); @@ -68,7 +68,7 @@ public class ConsoleProxyPasswordBasedEncryptor { try { Cipher cipher = Cipher.getInstance("DES"); - int maxKeySize = Cipher.getMaxAllowedKeyLength("DES") / 8; + int maxKeySize = 8; SecretKeySpec keySpec = new SecretKeySpec(normalizeKey(password.getBytes(), maxKeySize), "DES"); cipher.init(Cipher.DECRYPT_MODE, keySpec);