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