protected void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException { CipherParameters param; if (key == null) { throw new InvalidKeyException("key is null"); } if (key instanceof JCEPBEKey) { JCEPBEKey k = (JCEPBEKey) key; if (k.getParam() != null) { param = k.getParam(); } else if (params instanceof PBEParameterSpec) { param = PBE.Util.makePBEMacParameters(k, params); } else { throw new InvalidAlgorithmParameterException("PBE requires PBE parameters to be set."); } } else if (params instanceof IvParameterSpec) { param = new ParametersWithIV( new KeyParameter(key.getEncoded()), ((IvParameterSpec) params).getIV()); } else if (params == null) { param = new KeyParameter(key.getEncoded()); } else { throw new InvalidAlgorithmParameterException("unknown parameter type."); } macEngine.init(param); }
protected void engineInit( int paramInt, Key paramKey, AlgorithmParameterSpec paramAlgorithmParameterSpec, SecureRandom paramSecureRandom) { Object localObject; if ((paramKey instanceof BCPBEKey)) { paramKey = (BCPBEKey) paramKey; if ((paramAlgorithmParameterSpec instanceof PBEParameterSpec)) { localObject = PBE.Util.ˊ(paramKey, paramAlgorithmParameterSpec, this.aXL.iG()); } else if (paramKey.nU() != null) { localObject = paramKey.nU(); } else { throw new InvalidAlgorithmParameterException("PBE requires PBE parameters to be set."); } } else { localObject = new KeyParameter(paramKey.getEncoded()); } paramKey = (Key) localObject; if ((paramAlgorithmParameterSpec instanceof IvParameterSpec)) { paramKey = new ParametersWithIV( (CipherParameters) localObject, ((IvParameterSpec) paramAlgorithmParameterSpec).getIV()); } paramAlgorithmParameterSpec = paramKey; if ((paramKey instanceof KeyParameter)) { paramAlgorithmParameterSpec = paramKey; if (this.aYU != 0) { this.iv = new byte[this.aYU]; paramSecureRandom.nextBytes(this.iv); paramAlgorithmParameterSpec = new ParametersWithIV(paramKey, this.iv); } } paramKey = paramAlgorithmParameterSpec; if (paramSecureRandom != null) { paramKey = new ParametersWithRandom(paramAlgorithmParameterSpec, paramSecureRandom); } switch (paramInt) { default: break; case 3: this.aXL.ˊ(true, paramKey); return; case 4: this.aXL.ˊ(false, paramKey); return; case 1: case 2: throw new IllegalArgumentException("engine only valid for wrapping"); } System.out.println("eeek!"); }
protected void engineInit(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { CipherParameters param; if (key instanceof BCPBEKey) { BCPBEKey k = (BCPBEKey) key; if (params instanceof PBEParameterSpec) { param = PBE.Util.makePBEParameters(k, params, wrapEngine.getAlgorithmName()); } else if (k.getParam() != null) { param = k.getParam(); } else { throw new InvalidAlgorithmParameterException("PBE requires PBE parameters to be set."); } } else { param = new KeyParameter(key.getEncoded()); } if (params instanceof IvParameterSpec) { IvParameterSpec iv = (IvParameterSpec) params; param = new ParametersWithIV(param, iv.getIV()); } if (param instanceof KeyParameter && ivSize != 0) { iv = new byte[ivSize]; random.nextBytes(iv); param = new ParametersWithIV(param, iv); } switch (opmode) { case Cipher.WRAP_MODE: wrapEngine.init(true, param); break; case Cipher.UNWRAP_MODE: wrapEngine.init(false, param); break; case Cipher.ENCRYPT_MODE: case Cipher.DECRYPT_MODE: throw new IllegalArgumentException("engine only valid for wrapping"); default: System.out.println("eeek!"); } }