4.1.3 验证配置
经过一番调整之后,如何验证我们的系统获得相应的权限呢?
修改权限配置的目的是为了获得更长的密钥。如果对于同一个加密算法,在修改权限配置前后系统所能提供的密钥的最长长度发生了变化,那么就说明配置有效!
AES算法是较为常用的对称加密算法之一,几乎是对称加密算法中安全级别最高的算法。Java 6支持AES算法的密钥长度为128位、192位或256位。但是,如果不加权限配置直接使用256位长度的密钥,就会得到“java.security.InvalidKeyException”异常,如下面代码所示:
KeyGenerator kg=KeyGenerator.getInstance(KEY_ALGORITHM);
//AES要求密钥长度为128位、192位或256位。
kg.init(256);
//生成秘密密钥
SecretKey secretKey=kg.generateKey();
byte[]key=secretKey.getEncoded();
如果我们未能对相应的权限配置文件作相应调整,则会得到“java.security.InvalidKeyException”异常。反之,将正常获得256位长度的密钥!
有关AES算法相关实现细节,请读者阅读第7章。