1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage org.bouncycastle.jce.spec; 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.security.spec.AlgorithmParameterSpec; 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Parameter spec for an integrated encryptor, as in IEEE P1363a 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic class IESParameterSpec 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project implements AlgorithmParameterSpec 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private byte[] derivation; 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private byte[] encoding; 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private int macKeySize; 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public IESParameterSpec( 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] derivation, 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project byte[] encoding, 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project int macKeySize) 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project this.derivation = new byte[derivation.length]; 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project System.arraycopy(derivation, 0, this.derivation, 0, derivation.length); 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project this.encoding = new byte[encoding.length]; 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project System.arraycopy(encoding, 0, this.encoding, 0, encoding.length); 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project this.macKeySize = macKeySize; 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * return the derivation vector. 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public byte[] getDerivationV() 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return derivation; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * return the encoding vector. 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public byte[] getEncodingV() 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return encoding; 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * return the key size in bits for the MAC used with the message 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public int getMacKeySize() 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return macKeySize; 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 53