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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Завьялов Александр  
#1 Оставлено : 25 мая 2018 г. 8:14:35(UTC)
Завьялов Александр

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

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

Сказал(а) «Спасибо»: 1 раз
Установили CryptoProJCP вместе с входящим в комплект CryptoProJCP драйвером рутокен. Ключ RutokenS После этого у нашего Java приложения возникли проблемы, связанные с тем, что изменилось имя контейнера. До этого любой ключ RutokenStore. Теперь же каждый ключ имеет свое имя (например, RutokenStore_2A2E4DF2), поэтому исходный код
KeyStore keyStore;
keyStore = KeyStore.getInstance("RutokenStore", "JCP");
перестал работать.
Какие методы необходимо вызывать в библиотеке СryptoPro, чтобы определить переменную часть имени ключа.
Версия CryptoPro:2.0.39738

Offline Elvira Borodina  
#2 Оставлено : 25 мая 2018 г. 9:47:43(UTC)
Elvira Borodina

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

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

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 9 раз в 6 постах
Добрый день!
Имена ключевых хранилищ поменялись (добавились к ним уникальные идентификаторы), потому что в новом модуле реализована поддержка одновременной работы с несколькими считывателями Rutoken (раньше можно было работать только с одним считывателем). Для каждого считывателя Rutoken - свое уникальное имя хранилища.

В следующем релизе будет добавлена возможность использовать имя "RutokenStore" (как и было раньше), но в случае, когда считыватель один. Если их несколько - нужно задавать уникальные имена.

Получить уникальное имя хранилища для считывателя Rutoken можно следующим образом:
Код:

        JCP prov = new JCP();
        Set<Provider.Service> services = prov.getServices();
        // имя хранилища Rutoken
        String rutokenStoreName = null;
        // перечисляем все ключевые хранилища Rutoken
        Vector<String> storeTypes = new Vector();
        for (Provider.Service service : services) {

            String serviceName = service.getType();
            String algorithm = service.getAlgorithm();

            if (serviceName.equals("KeyStore") && algorithm.contains("Rutoken")) {
                storeTypes.add(algorithm);
            } // if

        }
        // например, выбираем первый из списка
        if (!storeTypes.isEmpty())
            rutokenStoreName = storeTypes.get(0);
thanks 2 пользователей поблагодарили Elvira Borodina за этот пост.
Завьялов Александр оставлено 25.05.2018(UTC), ВадимPilotnikov оставлено 12.12.2022(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.