Red Hat Application Migration Toolkit
package iaik.security.cipher; import iaik.security.cipher.RC2WrapParameterSpec; import iaik.security.cipher.f; 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.IvParameterSpec; import javax.crypto.spec.RC2ParameterSpec; import javax.crypto.spec.SecretKeySpec; public class RC2KeyWrap extends u { // $FF: synthetic field static Class c; // $FF: synthetic field static Class b; private RC2WrapParameterSpec a; 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), "RC2"); } 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 { if(this.a != null) { RC2ParameterSpec var5 = new RC2ParameterSpec(this.a.getEffectiveKeyBits(), var3); super.engineInit(var1, var2, var5, var4); } else { super.engineInit(var1, var2, new IvParameterSpec(var3), var4); this.engineGetParameters(); } } 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 RC2WrapParameterSpec) { super.kek = var2; super.random = var4; super.d = t.a(var1); this.a = (RC2WrapParameterSpec)var3; byte[] var5 = (byte[])super.keyWrapIV.clone(); if(super.d == 1) { this.getRandom().nextBytes(var5); } RC2ParameterSpec var6 = new RC2ParameterSpec(this.a.getEffectiveKeyBits(), var5); super.engineInit(var1, var2, var6, var4); } else { throw new InvalidAlgorithmParameterException("Invalid Parameters; expected RC2WrapParameterSpec!"); } } public void engineInit(int var1, Key var2, AlgorithmParameters var3, SecureRandom var4) throws InvalidAlgorithmParameterException, InvalidKeyException { try { if(var3 != null) { this.a = (RC2WrapParameterSpec)var3.getParameterSpec(c != null?c:(c = a("iaik.security.cipher.RC2WrapParameterSpec"))); } this.engineInit(var1, var2, (AlgorithmParameterSpec)this.a, var4); } catch (InvalidParameterSpecException var6) { throw new InvalidAlgorithmParameterException("Invalid parameters: " + var6.getMessage()); } } public AlgorithmParameters engineGetParameters() { try { AlgorithmParameters var1; if(this.a == null) { var1 = super.a.d(); RC2ParameterSpec var2 = (RC2ParameterSpec)var1.getParameterSpec(b != null?b:(b = a("javax.crypto.spec.RC2ParameterSpec"))); this.a = new RC2WrapParameterSpec(var2.getEffectiveKeyBits()); } var1 = AlgorithmParameters.getInstance("RC2WrapRC2", "IAIK"); var1.init(this.a); return var1; } catch (Exception var3) { return null; } } public RC2KeyWrap() { super(new f(), "RC2WrapRC2", -1, (byte[])u.CMS_KEY_WRAP_IV.clone()); } }