1a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrompackage org.bouncycastle.jcajce.provider.util; 2a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 3a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport java.util.HashMap; 4a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport java.util.Map; 5a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 6a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport org.bouncycastle.asn1.ASN1ObjectIdentifier; 7a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport org.bouncycastle.asn1.nist.NISTObjectIdentifiers; 8a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport org.bouncycastle.asn1.ntt.NTTObjectIdentifiers; 9a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; 10a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstromimport org.bouncycastle.util.Integers; 11a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 12a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrompublic class SecretKeyUtil 13a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom{ 14a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom private static Map keySizes = new HashMap(); 15a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 16a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom static 17a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom { 18a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(PKCSObjectIdentifiers.des_EDE3_CBC.getId(), Integers.valueOf(192)); 19a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 20a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(NISTObjectIdentifiers.id_aes128_CBC, Integers.valueOf(128)); 21a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(NISTObjectIdentifiers.id_aes192_CBC, Integers.valueOf(192)); 22a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(NISTObjectIdentifiers.id_aes256_CBC, Integers.valueOf(256)); 23a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 24a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(NTTObjectIdentifiers.id_camellia128_cbc, Integers.valueOf(128)); 25a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(NTTObjectIdentifiers.id_camellia192_cbc, Integers.valueOf(192)); 26a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom keySizes.put(NTTObjectIdentifiers.id_camellia256_cbc, Integers.valueOf(256)); 27a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom } 28a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 29a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom public static int getKeySize(ASN1ObjectIdentifier oid) 30a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom { 31a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom Integer size = (Integer)keySizes.get(oid); 32a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 33a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom if (size != null) 34a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom { 35a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom return size.intValue(); 36a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom } 37a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom 38a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom return -1; 39a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom } 40a198e1ecc615e26a167d0f2dca9fa7e5fc62de10Brian Carlstrom} 41