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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline stdpr2014  
#1 Оставлено : 27 февраля 2025 г. 10:53:00(UTC)
stdpr2014

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

Группы: Участники
Зарегистрирован: 26.06.2023(UTC)
Сообщений: 9
Армения
Откуда: Армянск

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

Приложение использует для подписание запросов provider JCSP (КриптоПро CSP). Ключи хранятся в HSM.
Приложение запускается и работает без ошибок какое-то время, но в процессе периодически возникает ошибка которая пропадает только после "перегрузки":


Цитата:
ru.CryptoPro.JCSP.MSCAPI.MSHsmChannelClosedException: Hash or Sign ERROR: 0x6
at ru.CryptoPro.JCSP.MSCAPI.MSHashNSignException.procCode(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.MSCAPI.cl_5.createHash(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.MSCAPI.cl_5.a(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.MSCAPI.cl_5.initHashGR3411(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.MSCAPI.cl_4.a(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.Key.AbstractKeySpec.prepareHash(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.Digest.BaseGostDigest.prepare(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.Digest.BaseGostDigest.engineUpdate(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at ru.CryptoPro.JCSP.Sign.CryptoProSign.engineUpdate(Unknown Source) ~[JCSP-2.0.jar:42119-A]
at java.security.Signature.update(Signature.java:903) ~[?:?]
at java.security.Signature.update(Signature.java:872) ~[?:?]





Подобная проблема обсуждалась в теме https://www.cryptopro.ru...spx?g=posts&t=21103, за исключением кода ошибки, там сообщение ERROR: 0x8009000d а у нас ERROR: 0x6
Рекомендация сотрудника Евгения Афанасьева у нас реализована ранее, т.к. без нее вообще не подписывало никогда:

Цитата:

Метод getKey не учитывает переданный пароль и запросит его в окне/потоке ввода. Метод getEntry учтет пароль. Поэтому в случае JCSP следует использовать getEntry. Оба метода из KeyStore.


Код:

            KeyStore.PasswordProtection entryPassword = new KeyStore.PasswordProtection(password.toCharArray());
            Object entry = keyStore.getEntry(alias, entryPassword);
            JCPPrivateKeyEntry privateKeyEntry = (JCPPrivateKeyEntry) entry;
            this.privateKey = privateKeyEntry.getPrivateKey();
            this.certificate = (X509Certificate) privateKeyEntry.getCertificate();




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