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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline crazz  
#1 Оставлено : 23 ноября 2021 г. 13:00:34(UTC)
crazz

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
подскажите плиз возможную причину возникновения ошибки
Hash or Sign ERROR: 0x57 при подписи кешированным сертификатом в хранилище MY

ошибка плавающая - сначала подпись работает нормально, через некоторое время (мин 10)
падает в методе signer.update(fileInByte)


Screenshot 2021-11-23 125928.png (109kb) загружен 15 раз(а).

Отредактировано пользователем 23 ноября 2021 г. 13:18:11(UTC)  | Причина: Не указана

Offline crazz  
#2 Оставлено : 23 ноября 2021 г. 13:17:14(UTC)
crazz

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
далее работает вообще через раз, ок - не ок
Offline Санчир Момолдаев  
#3 Оставлено : 23 ноября 2021 г. 13:41:50(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 100 раз
Поблагодарили: 274 раз в 254 постах
Добрый день!
в update надо передавать посчитанный хэш

Код:
    @Override                                                                                                                          
    byte[] sign(PrivateKey privateKey) throws Exception {                                                                              
        MessageDigest digest = MessageDigest.getInstance(config.getDigestAlg(), config.getProvider());                                 
        digest.update(config.getData());                                                                                               
        byte[] hash = digest.digest();
        Signature signature = Signature.getInstance(config.getSignAlg(), config.getProvider());
        signature.initSign(privateKey);
        signature.update(hash);
        return signature.sign();
    }

Техническую поддержку оказываем тут
Наша база знаний
Offline Санчир Момолдаев  
#4 Оставлено : 23 ноября 2021 г. 13:45:07(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 100 раз
Поблагодарили: 274 раз в 254 постах
провайдер должен быть JCP.RAW_CRYPTOPRO_SIGN_2012_256_NAME для хэширования

57 ошибка это:
CryptoAPI function 'CryptAcquireContext' failed. Error 0x57: The parameter is incorrect.

Отредактировано пользователем 23 ноября 2021 г. 13:46:06(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Евгений Афанасьев  
#5 Оставлено : 23 ноября 2021 г. 19:08:37(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Здравствуйте.
Приложите стек ошибки.
Offline crazz  
#6 Оставлено : 23 ноября 2021 г. 21:49:10(UTC)
crazz

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
Автор: Санчир Момолдаев Перейти к цитате
провайдер должен быть JCP.RAW_CRYPTOPRO_SIGN_2012_256_NAME для хэширования

57 ошибка это:
CryptoAPI function 'CryptAcquireContext' failed. Error 0x57: The parameter is incorrect.



такое же поведение, работает через раз на закешированных
а с облачным сертом работает всегда

Код:

        signAlgName = JCP.RAW_CRYPTOPRO_SIGN_2012_256_NAME;
        MessageDigest digest = MessageDigest.getInstance(JCP.GOST_DIGEST_2012_256_OID, JCSP.PROVIDER_NAME);
        digest.update(fileInByte);
        byte[] hash = digest.digest();


        Signature signer = Signature.getInstance(signAlgName, JCSP.PROVIDER_NAME);

        signer.initSign(privateKey);
        signer.update(hash);

        byte[] signature = signer.sign();

Отредактировано пользователем 23 ноября 2021 г. 21:49:43(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#7 Оставлено : 23 ноября 2021 г. 22:39:53(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Автор: Евгений Афанасьев Перейти к цитате
Приложите стек ошибки.

И еще хорошо бы собрать лог, как описано тут https://support.cryptopr...nlirovnija-kriptopro-jcp (см. ConsoleHandler), но только с логгером
Цитата:

ru.CryptoPro.JCSP.JCSPLogger.level = ALL

а не JCPLogger.

Offline crazz  
#8 Оставлено : 23 ноября 2021 г. 23:29:07(UTC)
crazz

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
Автор: Евгений Афанасьев Перейти к цитате
Автор: Евгений Афанасьев Перейти к цитате
Приложите стек ошибки.

И еще хорошо бы собрать лог, как описано тут https://support.cryptopr...nlirovnija-kriptopro-jcp (см. ConsoleHandler), но только с логгером
Цитата:

ru.CryptoPro.JCSP.JCSPLogger.level = ALL

а не JCPLogger.



стек
Код:
java.lang.IllegalArgumentException: Hash or Sign ERROR: 0x57
	at ru.CryptoPro.JCSP.MSCAPI.MSHashNSignException.procCode(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_5.createHash(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_5.a(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_5.initHashGR3411(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_2.a(Unknown Source)
	at ru.CryptoPro.JCSP.Key.AbstractKeySpec.signature(Unknown Source)
	at ru.CryptoPro.JCSP.Sign.CryptoProSign.engineSign(Unknown Source)
	at ru.CryptoPro.JCSP.Sign.JCSPGostElSign.engineSign(Unknown Source)
	at ru.CryptoPro.JCSP.Sign.JCSPRawCryptoProSign.engineSign(Unknown Source)
	at java.security.Signature.sign(Unknown Source)
	at ru.soi.service.crypto.SigningService.signAndVerify(SigningService.java:131)
	at ru.soi.service.crypto.SigningService.signingFile(SigningService.java:187)
	at ru.soi.controller.v1.signature.SignatureServiceController.normalSignFile(SignatureServiceController.java:247)



новая ошибка (чередуется с Hash or Sign ERROR: 0x57)
Код:

nested exception is java.security.InvalidKeyException: Key algorithm does not match the signature algorithm.] with root cause
java.security.InvalidKeyException: Key algorithm does not match the signature algorithm.
	at ru.CryptoPro.JCSP.Sign.CryptoProSign.engineInitVerify(Unknown Source)
	at java.security.Signature.initVerify(Unknown Source)
	at ru.soi.service.crypto.SigningService.signAndVerify(SigningService.java:132)
	at ru.soi.service.crypto.SigningService.signingFile(SigningService.java:202)
	at ru.soi.controller.v1.signature.SignatureServiceController.normalSignFile(SignatureServiceController.java:247)


логи JCSP
log jcsp.txt (38kb) загружен 2 раз(а).

Отредактировано пользователем 24 ноября 2021 г. 10:55:25(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#9 Оставлено : 24 ноября 2021 г. 10:44:09(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
1. Hash or Sign ERROR: 0x57

Автор: crazz Перейти к цитате
Автор: Евгений Афанасьев Перейти к цитате
Автор: Евгений Афанасьев Перейти к цитате
Приложите стек ошибки.

И еще хорошо бы собрать лог, как описано тут https://support.cryptopr...nlirovnija-kriptopro-jcp (см. ConsoleHandler), но только с логгером
Цитата:

ru.CryptoPro.JCSP.JCSPLogger.level = ALL

а не JCPLogger.



стек
Код:
java.lang.IllegalArgumentException: Hash or Sign ERROR: 0x57
	at ru.CryptoPro.JCSP.MSCAPI.MSHashNSignException.procCode(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_5.createHash(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_5.a(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_5.initHashGR3411(Unknown Source)
	at ru.CryptoPro.JCSP.MSCAPI.cl_2.a(Unknown Source)
	at ru.CryptoPro.JCSP.Key.AbstractKeySpec.signature(Unknown Source)
	at ru.CryptoPro.JCSP.Sign.CryptoProSign.engineSign(Unknown Source)
	at ru.CryptoPro.JCSP.Sign.JCSPGostElSign.engineSign(Unknown Source)
	at ru.CryptoPro.JCSP.Sign.JCSPRawCryptoProSign.engineSign(Unknown Source)
	at java.security.Signature.sign(Unknown Source)
	at ru.soi.service.crypto.SigningService.signAndVerify(SigningService.java:131)
	at ru.soi.service.crypto.SigningService.signingFile(SigningService.java:187)
	at ru.soi.controller.v1.signature.SignatureServiceController.normalSignFile(SignatureServiceController.java:247)


лог с JCPLogger написал только это
Код:
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.RSAProvType_class_default=24
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.DefaultCSPProvider_2001_class_default=Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.DefaultCSPProvider_2012_256_class_default=Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.DefaultCSPProvider_2012_512_class_default=Crypto-Pro GOST R 34.10-2012 Strong Cryptographic Service Provider
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.DefaultCSPProvider_RSA_class_default=
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.KeySet_class_default=0
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.NameType_class_default=0
2021-11-23 23:19:34 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/params.add_provider_name_class_default=false
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/tools/Control.StrengthenedKeyUsageControl=false
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_class_defaultDH=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_256_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_256_dh_class_defaultDH=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_512_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.AlgIdSpec_2012_512_dh_class_defaultDH=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpecDH_class_defaultDH=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpecDH_2012_256_class_defaultDH=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpec_class_defaultECC=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.EllipticParamsSpec_2012_256_class_defaultECC=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.DigestParamsSpec_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.DigestParamsSpec_2012_256_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.DigestParamsSpec_2012_512_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.CryptParamsSpec_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.CryptParamsSpec_2012_256_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/params.CryptParamsSpec_2012_512_class_default=null
2021-11-23 23:19:35 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCP/Key.InternalGostPrivateKey_class_default=true
2021-11-23 23:20:08 [main] INFO  ru.CryptoPro.JCSP.JCSPLogger - Loading Java CSP 5.0.41975
2021-11-23 23:20:08 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/tools.SelfTester_jar_classes_java_csp=ru.CryptoPro.JCSP.JCSPInstaller
2021-11-23 23:20:08 [main] INFO  ru.CryptoPro.JCP.tools.JCPLogger - System Preference Node: /ru/CryptoPro/JCSP/tools.SelfTester_external_classNames_java_csp=null
2021-11-23 23:20:08 [main] INFO  ru.CryptoPro.JCSP.JCSPLogger - Java CSP has been loaded.


новая ошибка (чередуется с Hash or Sign ERROR: 0x57)
Код:

nested exception is java.security.InvalidKeyException: Key algorithm does not match the signature algorithm.] with root cause
java.security.InvalidKeyException: Key algorithm does not match the signature algorithm.
	at ru.CryptoPro.JCSP.Sign.CryptoProSign.engineInitVerify(Unknown Source)
	at java.security.Signature.initVerify(Unknown Source)
	at ru.soi.service.crypto.SigningService.signAndVerify(SigningService.java:132)
	at ru.soi.service.crypto.SigningService.signingFile(SigningService.java:202)
	at ru.soi.controller.v1.signature.SignatureServiceController.normalSignFile(SignatureServiceController.java:247)


В logging.properties у вас точно java.util.logging.ConsoleHandler.level = ALL?
С закрытым ключом privateKey что-нибудь делается, кроме подписи?

2. InvalidKeyException: Key algorithm does not match the signature algorithm.

Эта ошибка возникает, когда алгоритм подписи указали один в Signature.getInstance(signAlgName, JCSP.PROVIDER_NAME), например, JCP.RAW_CRYPTOPRO_SIGN_2012_256_NAME, а ключ подписи имеет алгоритм, не подходящий для данного алгоритма подписи, например, ГОСТ 2001.
Offline crazz  
#10 Оставлено : 24 ноября 2021 г. 11:01:52(UTC)
crazz

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
Автор: Евгений Афанасьев Перейти к цитате
1. Hash or Sign ERROR: 0x57


В logging.properties у вас точно java.util.logging.ConsoleHandler.level = ALL?

да
логи обновил на JCSP
log jcsp.txt (38kb) загружен 2 раз(а).

Автор: Евгений Афанасьев Перейти к цитате
1. Hash or Sign ERROR: 0x57
С закрытым ключом privateKey что-нибудь делается, кроме подписи?

2. InvalidKeyException: Key algorithm does not match the signature algorithm.

Эта ошибка возникает, когда алгоритм подписи указали один в Signature.getInstance(signAlgName, JCSP.PROVIDER_NAME), например, JCP.RAW_CRYPTOPRO_SIGN_2012_256_NAME, а ключ подписи имеет алгоритм, не подходящий для данного алгоритма подписи, например, ГОСТ 2001.

ничего не делается,
а почему "Key algorithm does not match the signature algorithm" возникает и пропадает спонтанно?

Отредактировано пользователем 24 ноября 2021 г. 11:03:27(UTC)  | Причина: Не указана

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