暗号化中に以下のコードの例外が発生しました。 作成されたキーは "[B @ 29ee9faa"です。 "暗号化中にエラーが発生しました:java.security.InvalidKeyException:無効なAESキーの長さ:11バイト"暗号化中にエラーが発生しました:java.security.InvalidKeyException:無効なAESキーの長さ:11バイト
また、jre/lib/securityのlocal_policyおよびUs_export_policyもすでに更新されています。
public static String generateKey(String eisId)
{
String uuidKey = null;
try {
KeyGenerator gen = KeyGenerator.getInstance("AES");
gen.init(128); /* 128-bit AES */
SecretKey secret = gen.generateKey();
uuidKey = secret.getEncoded().toString();
System.out.println("uuidKey : "+uuidKey);
// Store in DB
// **********************
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return uuidKey;
}
public static SealedObject encryptData(String eisId, SecurityDomainDTO sDObj)
{
try
{
String secret = generateKey(eisId);
SecretKeySpec aesKey = new SecretKeySpec(secret.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
SealedObject so = new SealedObject(sDObj, cipher);
return so;
}
catch (Exception e)
{
System.out.println("Error while encrypting: " + e.toString());
}
return null;
}
'toString()'はそのようには動作せず、とにかくbyte []をStringに変換するのは無意味です。 –