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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline MadKort  
#1 Оставлено : 29 августа 2019 г. 12:43:51(UTC)
MadKort

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

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

Здравствуйте!

В нашем приложении для iOS ранее использовалась версия КриптоПро 4.0.9945.
Недавно мы обновили её до версии 4.0.9963.

Обнаружили такую проблему, что после обновления у пользователей пропадает ЭП из хранилища контейнеров закрытых ключей.
Посмотрев внимательнее changelog мы увидели следующую запись:
"ios: Для обновления хранилищ (перевода хранилищ в новый формат) выберите пункт "Установить сертификаты" в меню приложения (CPCSP-1287)."

Мы попробовали выполнить предложенные действия и тогда действительно ЭП пользователя вновь становится доступной.
Однако после этого при выполнении подписания документов с ЭП получаем ошибку с кодом: 2148073480.

Если не восстанавливать ЭП из хранилища, а установить ту же самую ЭП заново, то ошибка не наблюдается.

В чём может быть проблема?

Отредактировано пользователем 29 августа 2019 г. 12:46:21(UTC)  | Причина: Не указана

Offline Александр Лавник  
#2 Оставлено : 29 августа 2019 г. 12:52:07(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Здравствуйте.

Уточните, пожалуйста, что Вы имеете ввиду под:

Цитата:
Если не восстанавливать ЭП из хранилища, а установить ту же самую ЭП заново, то ошибка не наблюдается.
Техническую поддержку оказываем тут
Наша база знаний
Offline MadKort  
#3 Оставлено : 29 августа 2019 г. 13:01:33(UTC)
MadKort

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

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

Имею в виду, что при чистой установке ЭП устанавливается корректно.
Эта та-же ЭП, которая стояла до обновления фрейморка, после которого она пропала.
Offline Андрей Русев  
#4 Оставлено : 9 сентября 2019 г. 12:00:37(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,260

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 443 раз в 322 постах
Здравствуйте.
Ошибка 2148073480 - NTE_BAD_ALGID обычно означает, что подпись выполняется с неверными параметрами.
При нажатии на "Установить сертификаты из контейнеров" были перечислены все ключевые контейнеры для каждого из них в личное хранилище был установлен сертификат со ссылкой на закрытый ключ на этот контейнер.
В ссылке на закрытый ключ указывается имя контейнера, тип и имя провайдера. Текущая реализация этой кнопки делает неточное привязывание: во всех ссылках прописывается провайдер 75-го типа.
Мы это поправим, но в вашем коде, почти наверняка, есть ошибка без которой всё могло бы работать: алгоритм хэша при подписи определяется не по сертификату, а по провайдеру из ссылки на закрытый ключ.
Правильный способ – в нашем примере CreateFile/Classes/SignFile.cpp – это вызов CPCryptGetDefaultHashOIDInfo().

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