Red Hat Application Migration Toolkit
package iaik.security.cipher; import iaik.security.cipher.CAST128ParameterSpec; import iaik.security.cipher.CAST128WrapParameterSpec; import iaik.security.cipher.o; import iaik.security.cipher.t; import iaik.security.cipher.u; import java.security.AlgorithmParameters; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.Key; import java.security.SecureRandom; import java.security.spec.AlgorithmParameterSpec; import java.security.spec.InvalidParameterSpecException; import javax.crypto.BadPaddingException; import javax.crypto.spec.SecretKeySpec; public class CAST128KeyWrap extends u { // $FF: synthetic field static Class a; // $FF: synthetic field static Class b; private CAST128WrapParameterSpec c; static Class a(String var0) { try { return Class.forName(var0); } catch (ClassNotFoundException var2) { throw new NoClassDefFoundError(var2.getMessage()); } } protected byte[] prepareWrap(Key var1) throws InvalidKeyException { return this.computeLCEKPAD(var1); } protected Key finishUnWrap(byte[] var1, String var2, int var3) throws InvalidKeyException { try { return new SecretKeySpec(this.decomposeLCEKPAD(var1), "CAST128"); } catch (BadPaddingException var5) { throw new InvalidKeyException("Could not unwrap key: " + var5.getMessage()); } } protected void engineInit(int var1, Key var2, byte[] var3, SecureRandom var4) throws InvalidAlgorithmParameterException, InvalidKeyException { CAST128ParameterSpec var5 = new CAST128ParameterSpec(this.c.getKeyLength(), var3); super.engineInit(var1, var2, var5, var4); } public void engineInit(int var1, Key var2, AlgorithmParameterSpec var3, SecureRandom var4) throws InvalidAlgorithmParameterException, InvalidKeyException { if(var3 == null) { this.engineInit(var1, var2, var4); this.engineGetParameters(); } else if(var3 instanceof CAST128WrapParameterSpec) { super.kek = var2; super.random = var4; super.d = t.a(var1); this.c = (CAST128WrapParameterSpec)var3; byte[] var5 = (byte[])super.keyWrapIV.clone(); if(super.d == 1) { this.getRandom().nextBytes(var5); } CAST128ParameterSpec var6 = new CAST128ParameterSpec(this.c.getKeyLength(), var5); super.engineInit(var1, var2, var6, var4); } else { throw new InvalidAlgorithmParameterException("Invalid Parameters; expected CAST128WrapParameterSpec!"); } } public void engineInit(int var1, Key var2, AlgorithmParameters var3, SecureRandom var4) throws InvalidAlgorithmParameterException, InvalidKeyException { try { if(var3 != null) { this.c = (CAST128WrapParameterSpec)var3.getParameterSpec(a != null?a:(a = a("iaik.security.cipher.CAST128WrapParameterSpec"))); } this.engineInit(var1, var2, (AlgorithmParameterSpec)this.c, var4); } catch (InvalidParameterSpecException var6) { throw new InvalidAlgorithmParameterException("Invalid parameters: " + var6.getMessage()); } } public AlgorithmParameters engineGetParameters() { try { AlgorithmParameters var1; if(this.c == null) { var1 = super.a.d(); CAST128ParameterSpec var2 = (CAST128ParameterSpec)var1.getParameterSpec(b != null?b:(b = a("iaik.security.cipher.CAST128ParameterSpec"))); this.c = new CAST128WrapParameterSpec(var2.getKeyLength()); } var1 = AlgorithmParameters.getInstance("CAST128WrapCAST128", "IAIK"); var1.init(this.c); return var1; } catch (Exception var3) { return null; } } public CAST128KeyWrap() { super(new o(), "CAST128WrapCAST128", -1, (byte[])u.CMS_KEY_WRAP_IV.clone()); } }