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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Esthete  
#1 Оставлено : 8 июля 2022 г. 9:03:43(UTC)
Esthete

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

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

Добрый день! Хотим перейти на новый ГОСТ по шифрованию взамен устаревшего.
Используем JCP для шифрования SOAP запросов.

Ранее использовали такой код

Код:

        // Создание случайного сессионного ключа.
        KeyGenerator kg = KeyGenerator.getInstance("GOST28147");
        if (cert.getPublicKey().getAlgorithm().equals(JCP.GOST_EL_2012_256_NAME)
                || cert.getPublicKey().getAlgorithm().equals(JCP.GOST_EL_2012_512_NAME)) {
            kg.init(CryptParamsSpec.getInstance(CryptParamsSpec.Rosstandart_TC26_Z)); // для ГОСТ 2012
        }
        SecretKey sessionKey = kg.generateKey();

        /**
         * создание шифратора для зашифрования ключа. Константа URI_GOST_TRANSPORT определена в файле
         * ru.CryptoPro.JCPxml.Consts public static final String URI_GOST_TRANSPORT =
         * "urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001";
         **/
        XMLCipher keyCipher = XMLCipher.getInstance(Consts.URI_GOST_TRANSPORT);
        keyCipher.init(XMLCipher.WRAP_MODE, cert.getPublicKey()); 
        // зашифрование ключа
        EncryptedKey encryptedKey = keyCipher.encryptKey(doc, sessionKey);
        encryptedKey.setKeyInfo(certKeyInfo);
        
        /**
         * Создаем шифратор в режиме зашифрования. Константа URI_GOST_CIPHER определена в файле
         * ru.CryptoPro.JCPxml.Consts public static final String URI_GOST_CIPHER =
         * "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147";
         **/
        XMLCipher xmlCipher = XMLCipher.getInstance(Consts.URI_GOST_CIPHER);
        xmlCipher.init(XMLCipher.ENCRYPT_MODE, sessionKey);
        // зашифрование документа

        /*
         * "true" below indicates that we want to encrypt element's content and not the element itself.
         * Also, the doFinal method would modify the document by replacing the EncrypteData element for the
         * data to be encrypted.
         */
        xmlCipher.doFinal(doc, element, false);



Я пытался модифицировать код для работы с новым ГОСТ:

Код:

        //Генерируем ключ для алгоритма магма
        KeyGenerator kg =  KeyGenerator.getInstance(JCP.GOST_M_CIPHER_NAME, JCSP.PROVIDER_NAME);
        SecretKey sessionKey = kg.generateKey();

        //Вот тут не нашел константу для того что бы инициализировать XMLCipher для шифрования сессионного ключа по новому ГОСТу
        XMLCipher keyCipher = XMLCipher.getInstance(Consts.URI_GOST_TRANSPORT);
        keyCipher.init(XMLCipher.WRAP_MODE, cert.getPublicKey());
        EncryptedKey encryptedKey = keyCipher.encryptKey(doc, sessionKey);
        encryptedKey.setKeyInfo(certKeyInfo);

        //И так же не нашел чем инициализировать XMLCipher для шифрования самого документа по новому ГОСТ
        XMLCipher xmlCipher = XMLCipher.getInstance(Consts.URI_GOST_CIPHER);
        xmlCipher.init(XMLCipher.ENCRYPT_MODE, sessionKey)


Подскажите если где то описание по работе с новым ГОСТ для шифрования xml и в правильном направлении я двигаюсь?
Offline Илья Сидоров  
#2 Оставлено : 29 августа 2022 г. 10:43:30(UTC)
Илья Сидоров

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

Группы: Участники
Зарегистрирован: 29.08.2022(UTC)
Сообщений: 2

up
Добрый день, тоже интересует данный вопрос, подскажите, пожалуйста.
Может быть есть пример использования XML Encryption «Магма» или «Кузнечик»
Offline Евгений Афанасьев  
#3 Оставлено : 2 сентября 2022 г. 21:59:08(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте.
Пока поддержки алгоритмов шифрования Кузнечик/Магма для XML нет.
Offline Esthete  
#4 Оставлено : 5 сентября 2022 г. 13:17:25(UTC)
Esthete

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

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

Спасибо. А планируется поддержка и в какой срок? ФСБ не рекомендует использовать старый ГОСТ http://www.fsb.ru/fsb/sc...46%40fsbResearchart.html
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.