Установка JCE на Ubuntu Server 10.04 с JDK 6

Я работаю с криптографией и имею некоторые проблемы. Я всегда получаю это исключение.

java.io.IOException: исключение при расшифровке данных — java.security.InvalidKeyException: недопустимый размер ключа в org.bouncycastle.jce.provider.JDKPKCS12KeyStore.cryptData(неизвестный источник) в org.bouncycastle.jce.provider.JDKPKCS12KeyStore.engineLoad(неизвестный источник )

При поиске в Google обнаруживается, что необходим файл политики JCE Unlimited. Когда вы загружаете его, в инструкциях по установке говорится, что единственное, что нужно сделать, это скопировать оба jar-файла, включенные в папку /security/ вашей JRE. Что ж, это не работает, я обыскал все каталоги своей машины, чтобы найти какую-либо другую установку Java, и не нашел ни одной. Я дважды проверил, что файлы были правильными

Некоторая информация:

java -version сообщает:
версия java "1.6.0_26"
Java(TM) SE Runtime Environment (сборка 1.6.0_26-b03)
Java HotSpot(TM) Client VM (сборка 20.1-b02, смешанная режим, обмен)

Я установил эту версию Java с помощью apt-get install sun-java6

Любые идеи по этому поводу?


person Anibaru    schedule 04.05.2012    source источник


Ответы (1)


Решение моих проблем пришло из другого места, и я объясню здесь. До ошибки у меня было:

KeyStore ks = KeyStore.getInstance("pkcs12","BC");  
File cert = new File(certPath);     
FileInputStream fis = new FileInputStream(cert);        
ks.load(fis,certpassword.toCharArray());

И теперь у меня есть:

KeyStore.Builder builder = null;
ProtectionParameter paramet = new PasswordProtection(certpassword.toCharArray());
builder = KeyStore.Builder.newInstance("PKCS12", null, new File(certPath), paramet);
KeyStore ks = builder.getKeyStore();
File cert = new File(certPath);
FileInputStream fis = new FileInputStream(cert);        
ks.load(fis, certpassword.toCharArray());

Этот код, вероятно, не совсем правильный, но он работает. Что касается причины этого, я понятия не имею. Я просто попробовал другой способ загрузки сертификата, и этот сработал.

Я не проверял, работает ли это решение без неограниченных файлов политик.

person Anibaru    schedule 07.05.2012