Найти тему
Кассовик-затейник

1С и ЕГАИС: не найдено хранилище ключей

Проблема: нет торговли богом продаж современной России - Алкоголиумом

Прислали фотографию по WhatsApp. Потому может быть несколько не понятно. Перепишу последние две строки: "Текст ошибки: java.security.KeyStoreException: Не найдено хранилище ключей"

На самом деле проста и понятна эта ошибка. Особенно тем, кто работает в ЕГАИС и такими устройствами, как JaCarta. Нисколько не хочу обидеть производителей или произвести антирекламу. Однако по собственному опыту могу сказать, что такое устройство как JaCarta ломается и выходит из строя, совершенно не работая так, как следует, гораздо чаще своего аналога - Рутокена. Рутокен словно как бы более помехоустойчивый или как. Быть может, сам ресурс у JaCarta несколько меньше. Но по статистике она работает в среднем с полтора-два года. После уже не факт, что будет бесперебойность.

Грубо говоря: если вы купили новую JaCarta, то почти наверняка на год работы (а именно такой срок действия сертификата ГОСТ) устройства хватит. Редко, но выходит в первый год работы, конечно. Но такое может случиться и с Рутокеном. На второй год JaCarta с вероятностью 50% (или выйдет, или не выйдет из строя, как бы глупо и банально это не звучало) может отработать. Третий год я уже никому бы не порекомендовал.

Почти наверняка будут регулярные проблемы. Особенно с хранилищем ключей сертификата PKI. JaCarta хранит их вроде как в отдельных ветках: ГОСТ (который платный и обеспечивает вход в том числе и на сайт egais.ru) в отдельной вкладке и отдельном контейнере, PKI (тот, что получается непосредственно на сайте egais.ru) - отдельно.

Вот как раз такая проблема, что я продемонстрировал на картинке в начале темы, случается, когда на JaCarta начинает не очень работать контейнер с сертификатами PKI. Он то и дело может отвалиться и не определяться.

Характерная хронология в таком случае:

1) Если зайти непосредственно в Единый клиент JaCarta (справа внизу около времени есть такой оранжевый ключик, по форме напоминающий саму JaCarta), то там отлично отображаются оба хранилища сертификатов

2) Если попробовать ввести тот же пин-код для доступа к полной статистике, то Единый клиент может начать долго думать. Потом он вдруг покажет полное отсутствие устройства (то есть JaCarta).

3) Через десяток секунд JaCarta вдруг сама собой появится. Готовая к работе в Едином клиенте.

4) Повтор п.1 выливается в то, что перечислено в п.2 и п.3. Получается зацикливание. Быть может, что помогает физическое извлечение JaCarta и установка её, например, в другой слот. Но это может быть далеко не всегда. Хотя через десяток раз может всё запуститься. Но проработать не очень долго.

Чаще всего все эти четыре пункта говорят о том, что устройство пора менять. Сколь сильно не было бы жалко потраченных 4000 (в среднем) рублей на сертификат ГОСТ, а также 2000 (примерно) на саму JaCarta. И именно об этом и говорит ошибка "Текст ошибки: java.security.KeyStoreException: Не найдено хранилище ключей". Смысл заключается в пункте №2, что я упомянул чуть выше. Просто при обращении к сертификату сама JaCarta может вылететь программно, хотя остаётся в компьютере физически.

Подобное случается и случалось со мной и обслуживаемыми компьютерами всегда и везде. Что просто подключёнными к розетке, что запитанными через стабилизаторы напряжения и даже с использованием Источников бесперебойного питания. Так что тут дело не в скачках напряжения, а просто 1,5-2-летнем сроке службы токена.

Необходимо отметить, что ошибки "Текст ошибки: java.security.KeyStoreException: Не найдено хранилище ключей" появлялась и на Рутокене и на (пожалуй, вот он сменщик JaCarta по ресурсо-непригодности) eToken. Последний замечен особенно часто. Хотя при этом не отказывается работать. Его просто словно требуется переставлять в иной USB-порт раз в неделю.

Процесс устранения (если JaCarta/Рутокен/eToken установлен именно на компьютере, где происходит торговля):

1) Извлечь физически устройство (JaCarta/Рутокен/eToken)

2) Установить устройство обратно в компьютер. Желательно в иной USB-порт.

3) Попробовать через 10-15 секунд пробить товар заново

4) Чаще всего из-за ошибки "Текст ошибки: java.security.KeyStoreException: Не найдено хранилище ключей" УТМ 2.1.6 не прекращает свою работу. Все службы transport остаются работать. Прежние версии УТМ почти сразу выключались. И потому требовалось понять причину незапуска УТМ иначе.

5) В связи с п4. возможно стоит перезапустить все три службы: transport, transport_monitoring, transport_update в "Правая кнопка мыши по Компьютер --> Управление --> Службы и приложения --> Службы"

6) Возможно потребуется перезагрузка всего компьютера. Но это не факт.

Процесс устранения (если JaCarta/Рутокен/eToken установлен не там, где происходит торговля, а на ином компьютере в сети):

1) Проверить подключение к локальной сети обоих компьютеров

2) Проверить правильность установки IP-адресов для обращения к УТМ в 1С.

3) Проверить, что на компьютере, где установлен токен работу УТМ не блокирует Брандмауэр, Защитник Windows или иная антивирусная программа, что доступ к ней возможен через любой браузер, например по адресу "http:\\192.168.0.15:8080"

4) Если всё вышеперечисленное не помогло, то тогда произвести всё так, как указано в процессе устранения (если JaCarta/Рутокен/eToken установлен именно на компьютере, где происходит торговля).

Рекомендация: Если такая ошибка появлялась по причине отказа в работе именно токена, и если такая ошибка появляется заведомо регулярно (даже пусть раз-два в пару-тройку недель), то стоит задуматься над заменой токена. И возможно, что не стоит с этим слишком тянуть.

Если у вас по той или иной причине не получилось устранить неисправность самостоятельно или же у вас возникли какие-то другие поломки, то вы всегда можете обратиться ко мне за консультацией: greenand@rambler.ru. И я обязательно помогу вам в их устранении.

Подписывайтесь на канал "Кассовик" и ни одна, даже самая малейшая проблема не доставит Вам совершенно никаких неприятностей.