Форум КриптоПро
»
Средства криптографической защиты информации
»
Apple
»
Ошибка при подписании после восстановления сертификатов из контейтера
Статус: Новичок
Группы: Участники
Зарегистрирован: 29.08.2019(UTC) Сообщений: 2 Откуда: Казань
|
Здравствуйте! В нашем приложении для iOS ранее использовалась версия КриптоПро 4.0.9945. Недавно мы обновили её до версии 4.0.9963. Обнаружили такую проблему, что после обновления у пользователей пропадает ЭП из хранилища контейнеров закрытых ключей. Посмотрев внимательнее changelog мы увидели следующую запись: "ios: Для обновления хранилищ (перевода хранилищ в новый формат) выберите пункт "Установить сертификаты" в меню приложения (CPCSP-1287)." Мы попробовали выполнить предложенные действия и тогда действительно ЭП пользователя вновь становится доступной. Однако после этого при выполнении подписания документов с ЭП получаем ошибку с кодом: 2148073480. Если не восстанавливать ЭП из хранилища, а установить ту же самую ЭП заново, то ошибка не наблюдается. В чём может быть проблема? Отредактировано пользователем 29 августа 2019 г. 12:46:21(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 30.06.2016(UTC) Сообщений: 3,376 Сказал «Спасибо»: 53 раз Поблагодарили: 773 раз в 715 постах
|
Здравствуйте. Уточните, пожалуйста, что Вы имеете ввиду под: Цитата:Если не восстанавливать ЭП из хранилища, а установить ту же самую ЭП заново, то ошибка не наблюдается. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 29.08.2019(UTC) Сообщений: 2 Откуда: Казань
|
Имею в виду, что при чистой установке ЭП устанавливается корректно. Эта та-же ЭП, которая стояла до обновления фрейморка, после которого она пропала.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,260
Сказал(а) «Спасибо»: 21 раз Поблагодарили: 443 раз в 322 постах
|
Здравствуйте. Ошибка 2148073480 - NTE_BAD_ALGID обычно означает, что подпись выполняется с неверными параметрами. При нажатии на "Установить сертификаты из контейнеров" были перечислены все ключевые контейнеры для каждого из них в личное хранилище был установлен сертификат со ссылкой на закрытый ключ на этот контейнер. В ссылке на закрытый ключ указывается имя контейнера, тип и имя провайдера. Текущая реализация этой кнопки делает неточное привязывание: во всех ссылках прописывается провайдер 75-го типа. Мы это поправим, но в вашем коде, почти наверняка, есть ошибка без которой всё могло бы работать: алгоритм хэша при подписи определяется не по сертификату, а по провайдеру из ссылки на закрытый ключ. Правильный способ – в нашем примере CreateFile/Classes/SignFile.cpp – это вызов CPCryptGetDefaultHashOIDInfo(). Когда вы выпускаете сертификат заново, то в него прописывается точная ссылка с указанием типа провайдера, соответствующего ключу, поэтому выбираемый по этому провайдеру алгоритм хэша подходит. |
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Apple
»
Ошибка при подписании после восстановления сертификатов из контейтера
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close