|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
|
package sun.security.krb5.internal.crypto; |
|
|
|
import sun.security.krb5.internal.crypto.dk.AesDkCrypto; |
|
import sun.security.krb5.KrbCryptoException; |
|
import java.security.GeneralSecurityException; |
|
|
|
/** |
|
* Class with static methods for doing AES operations. |
|
* |
|
* @author Seema Malkani |
|
*/ |
|
|
|
public class Aes256 { |
|
private static final AesDkCrypto CRYPTO = new AesDkCrypto(256); |
|
|
|
private Aes256() { |
|
} |
|
|
|
public static byte[] stringToKey(char[] password, String salt, byte[] params) |
|
throws GeneralSecurityException { |
|
return CRYPTO.stringToKey(password, salt, params); |
|
} |
|
|
|
|
|
public static int getChecksumLength() { |
|
return CRYPTO.getChecksumLength(); |
|
} |
|
|
|
public static byte[] calculateChecksum(byte[] baseKey, int usage, |
|
byte[] input, int start, int len) throws GeneralSecurityException { |
|
return CRYPTO.calculateChecksum(baseKey, usage, input, start, len); |
|
} |
|
|
|
public static byte[] encrypt(byte[] baseKey, int usage, |
|
byte[] ivec, byte[] plaintext, int start, int len) |
|
throws GeneralSecurityException, KrbCryptoException { |
|
return CRYPTO.encrypt(baseKey, usage, ivec, null , |
|
plaintext, start, len); |
|
} |
|
|
|
|
|
public static byte[] encryptRaw(byte[] baseKey, int usage, |
|
byte[] ivec, byte[] plaintext, int start, int len) |
|
throws GeneralSecurityException, KrbCryptoException { |
|
return CRYPTO.encryptRaw(baseKey, usage, ivec, plaintext, start, len); |
|
} |
|
|
|
public static byte[] decrypt(byte[] baseKey, int usage, byte[] ivec, |
|
byte[] ciphertext, int start, int len) |
|
throws GeneralSecurityException { |
|
return CRYPTO.decrypt(baseKey, usage, ivec, ciphertext, start, len); |
|
} |
|
|
|
|
|
|
|
|
|
*/ |
|
public static byte[] decryptRaw(byte[] baseKey, int usage, byte[] ivec, |
|
byte[] ciphertext, int start, int len) |
|
throws GeneralSecurityException { |
|
return CRYPTO.decryptRaw(baseKey, usage, ivec, ciphertext, start, len); |
|
} |
|
}; |