Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dimitri-z  
#1 Оставлено : 10 февраля 2016 г. 14:17:11(UTC)
dimitri-z

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 3
Российская Федерация

Добрый день,

JCP 1.0.54, JRE 1.7.0_17

Выполнение следующего кода, призванного всего лишь считать приватный ключ, вызывает изменение файлов в хранилище FloppyStore:

Код:

    String password = "PASSWORD";
    KeyStore keyStore = KeyStore.getInstance("FloppyStore");
    keyStore.load(null, null);
		
    Enumeration aliases = keyStore.aliases();
    while (aliases.hasMoreElements())
    {
      String alias = (String)aliases.nextElement();
      if (keyStore.isKeyEntry(alias))
      {
        Key key = keyStore.getKey(alias, password.toCharArray());
      }
    }


Если у файлов поставить атрибут Read only, то вылетает исключение:
Код:

Exception in thread "main" java.security.UnrecoverableKeyException
        at ru.CryptoPro.JCP.Key.PrivateKeySpec.read(Unknown Source)
        at ru.CryptoPro.JCP.KeyStore.g.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at ru.CryptoPro.JCP.KeyStore.t.e(Unknown Source)
        at ru.CryptoPro.JCP.KeyStore.t.a(Unknown Source)
        at ru.CryptoPro.JCP.KeyStore.ContainerStore.engineGetKey(Unknown Source)
        at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineGetKey(Unknown Source)
        at java.security.KeyStore.getKey(KeyStore.java:792)
        at isc.CheckPass.main(CheckPass.java:32)
Caused by: java.io.FileNotFoundException: C:\Temp\jcp\key\gkniejda.000\masks.key (Отказано в доступе)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:165)
        at ru.CryptoPro.JCP.KeyStore.HDImage.a.storeFile(Unknown Source)
        at ru.CryptoPro.JCP.KeyStore.ContainerEncoder.storeMasks(Unknown Source)
        at ru.CryptoPro.JCP.KeyStore.t.a(Unknown Source)
        at ru.CryptoPro.JCP.Key.PrivateKeySpec.a(Unknown Source)
        at ru.CryptoPro.JCP.Key.PrivateKeySpec.b(Unknown Source)
        ... 9 more


Можно ли как-то настроить JCP, чтобы при считывании закрытых ключей не происходила запись в хранилище?

Заранее спасибо за ответ.

С уважением,
Дмитрий
Offline Евгений Афанасьев  
#2 Оставлено : 10 февраля 2016 г. 14:46:32(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Здравствуйте.
Нет, нельзя, файлы перезаписываются при обращении к ключу. Эти сообщения могут выдаваться на определенном уровне логирования, его можно понизить.
Offline dimitri-z  
#3 Оставлено : 10 февраля 2016 г. 15:02:33(UTC)
dimitri-z

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 3
Российская Федерация

Спасибо за ответ.

Правильно ли я Вас понял, что если понизить уровень логгирования, то исполнение метода getKey() не будет прерываться при невозможности записи в файлы хранилища?
Offline Евгений Афанасьев  
#4 Оставлено : 10 февраля 2016 г. 15:07:17(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Нет, я имел в виду, что некритичные исключения могут быть скрыты с помощью понижения уровня логирования. Но если файлы только для чтения, то, конечно, операции с ключом будут ломаться.
Offline dimitri-z  
#5 Оставлено : 10 февраля 2016 г. 15:22:48(UTC)
dimitri-z

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.02.2016(UTC)
Сообщений: 3
Российская Федерация

Получается, что при использовании дискеты, защищенной от записи, JCP "догадается", что дискета настоящая, и не будет пытаться писать на нее?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.