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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline shahhmatist  
#1 Оставлено : 1 октября 2020 г. 13:54:38(UTC)
shahhmatist

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

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

Сказал(а) «Спасибо»: 1 раз
Добрый день.

Пытаюсь создать ключевую пару с помощью утилиты keytool:

keytool -genkeypair -alias key_name -keysize 512 -providername JCP -storetype HDImageStore -keyalg GOST3410_2012_512 -sigalg GOST3411_2012_512withGOST3410_2012_512 -keystore ./keystore_name -storepass 123456 -keypass 654321

Получаю ошибку:
Код:

Oct 01, 2020 10:28:26 AM ru.CryptoPro.JCP.Key.GostKeyPairGenerator2012_512 initialize
WARNING: ERROR
java.security.InvalidParameterException: Invalid key length. Necessary number of bytes:128
        at ru.CryptoPro.JCP.Key.GostKeyPairGenerator2012_512.initialize(Unknown Source)
        at sun.security.tools.keytool.CertAndKeyGen.generate(CertAndKeyGen.java:148)
        at sun.security.tools.keytool.Main.doGenKeyPair(Main.java:1753)
        at sun.security.tools.keytool.Main.doCommands(Main.java:1013)
        at sun.security.tools.keytool.Main.run(Main.java:370)
        at sun.security.tools.keytool.Main.main(Main.java:363)


Не очень понимаю, о длине какого ключа идет речь. Может кто-то сталкивался?
Offline Санчир Момолдаев  
#2 Оставлено : 1 октября 2020 г. 16:02:25(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 226 раз в 213 постах
Добрый день!
Гост 2012-256
Код:
keytool -J-Dkeytool.compat=true -J-Duse.cert.stub=true -genkeypair -alias test2012::::1234567890 -keysize 512 -provider ru.CryptoPro.Crypto.CryptoProvider -keypass 1234567890 -storetype J6CFStore -dname CN=myKey,O=CryptoPro,C=RU -keystore NONE -storepass 1 -keyalg GOST3410DH_2012_256 -sigalg GOST3411_2012_256withGOST3410_2012_256 -ext KeyUsage=digitalSignature,keyEncipherment,dataEncipherment,keyAgreement,nonRepudiation,keyEncipherment -ext ExtendedKeyUsage=clientAuth


Гост 2012-512
Код:
keytool -J-Dkeytool.compat=true -J-Duse.cert.stub=true -genkeypair -alias test2012st::::1234567890 -keysize 1024 -provider ru.CryptoPro.Crypto.CryptoProvider -keypass 1234567890 -storetype J6CFStore -dname CN=myKey,O=CryptoPro,C=RU -keystore NONE -storepass 1 -keyalg GOST3410DH_2012_512 -sigalg GOST3411_2012_512withGOST3410_2012_512 -ext KeyUsage=digitalSignature,keyEncipherment,dataEncipherment,keyAgreement,nonRepudiation,keyEncipherment -ext ExtendedKeyUsage=clientAuth


в данном случае создаются ключи обмена с самоподписанными сертификатами в контейнере
это пример для java8
для java10+ немного другой синтаксис

Отредактировано пользователем 1 октября 2020 г. 16:03:51(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений Афанасьев  
#3 Оставлено : 1 октября 2020 г. 16:06:26(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
"Invalid key length. Necessary number of bytes:128" - надо указать -keysize 1024
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
shahhmatist оставлено 01.10.2020(UTC)
Offline shahhmatist  
#4 Оставлено : 1 октября 2020 г. 16:17:30(UTC)
shahhmatist

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

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

Сказал(а) «Спасибо»: 1 раз
Автор: Евгений Афанасьев Перейти к цитате
"Invalid key length. Necessary number of bytes:128" - надо указать -keysize 1024

Помогло. Спасибо!
Offline shahhmatist  
#5 Оставлено : 1 октября 2020 г. 18:13:57(UTC)
shahhmatist

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

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

Сказал(а) «Спасибо»: 1 раз
Теперь пытаюсь на основании ключа сгенерировать запрос на сертификат
keytool -certreq -alias key_name -provider ru.CryptoPro.JCP.JCP -keypass 654321 -storetype HDImageStore -keystore ./keystore_name -storepass 123456 -sigalg GOST3411_2012_512withGOST3410_2012_512 -file ./request.bin -v

Получаю такую ошибку
Код:

keytool error: java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationException
        at java.security.SignatureSpi.engineGetParameters(SignatureSpi.java:404)
        at java.security.Signature.getParameters(Signature.java:1006)
        at sun.security.pkcs10.PKCS10.encodeAndSign(PKCS10.java:244)
        at sun.security.tools.keytool.Main.doCertReq(Main.java:1470)
        at sun.security.tools.keytool.Main.doCommands(Main.java:979)
        at sun.security.tools.keytool.Main.run(Main.java:370)
        at sun.security.tools.keytool.Main.main(Main.java:363)

Можете подсказать, что делаю не так?
Offline Евгений Афанасьев  
#6 Оставлено : 2 октября 2020 г. 13:27:08(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 690 раз в 651 постах
Ориентировочно в JCP 2.0.41473 (релиз 2020-05-12) и выше ошибка исправлена. В одной из версий java появился новый метод, у нас нереализованный, который разработчики использовали в коде keytool. Нужно либо обновить JCP, либо понизить версию java.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.