Ошибка не удалось найти закрытый ключ сертификата

Электронная подпись

Сообщение «При выборе сертификата произошла ошибка. Не удалось найти закрытый ключ сертификата, причина -2146893805» может возникать в любой программе при обращении к ключевому контейнеру. Вам необходимо:

  • Проверить, вставлен ли ключевой носитель.
  • Убедиться, что сертификат установлен на рабочем месте.
  • Настроить рабочее место при помощи «Мастера настройки».
  • Проверить версию «КриптоПро CSP». Необходимо открыть программу «КриптоПро CSP» и проверить строку «Версия продукта». Версия должна быть не ниже 4.0. Для Windows 11 – 5.0.12000 или выше. При необходимости установить нужную версию.
  • Воспользоваться другим браузером.

Если сообщение возникло:

В «Онлайн-Спринтере» при отправке отчета

Необходимо убедиться, что ФИО подписанта в отчете и сертификате, по которому вы вошли в «Онлайн-Спринтер», посимвольно и с учетом регистра совпадают, нет лишних пробелов или латинских символов. Если не совпадают, внести изменения в отчет, затем нажать «Сохранить».

В «Референте» в «Диагностике рабочего места»

Необходимо:

  • Удалить системный ящик:
  1. Зайти в меню «Параметры» — «Настройки ящиков».
  2. Выбрать нужный ящик и нажать «Удалить ящик».
  3. Нажать «Ок».
  • Добавить системный ящик:
  1. Зайти в меню «Параметры» — «Настройки ящиков».
  2. Нажать «Загрузить настройки».
  3. Выбрать вариант «Настройки будут получены от сервера специализированного оператора связи по защищенному протоколу HTTPS».
  4. Выбрать личный сертификат для ЭДО той организации, для которой требуется создать ящик – «Далее» — если программа предложить установить корневые сертификаты, нажать «Да» – «Готово».
  5. Нажать «Ок».

Помогла ли статья решить вопрос?

Да Нет

Благодарим за отзыв!

Отправить

Спасибо, что сообщили нам!

Отправить

Спасибо, что сообщили нам!

Форум КриптоПро
 » 
Средства криптографической защиты информации
 » 
КриптоПро CSP 5.0
 » 
Ошибка: «Не удается найти сертификат и закрытый ключ для расшифровки. (0x8009200C)»


Offline

VladKilin

 


#1
Оставлено
:

18 мая 2023 г. 17:26:29(UTC)

VladKilin

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

Группы: Участники

Зарегистрирован: 18.05.2023(UTC)
Сообщений: 5
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

При расшифровке документа в логах КриптоПРО CSP 5 получаем ошибку {«message»:»Не удается найти сертификат и закрытый ключ для расшифровки. (0x8009200C)»
С чем может связана ошибка.
КЭП выпушена от ФНС.
Сертификат установлен из контейнера с привязкой к закрытому ключу.
Тестовое подписание на https://www.cryptopro.ru…ge/cades_bes_sample.html успешно.
Документ который требуется расшифровать точно пришел зашифрованный под необходимую КЭП. log.log (182kb) загружен 4 раз(а). attachment%3B+filename%3D4.jpg.jpeg (1,247kb) загружен 4 раз(а). attachment%3B+filename%3D33.jpg.jpeg (1,586kb) загружен 3 раз(а).


Вверх


Offline

nickm

 


#2
Оставлено
:

18 мая 2023 г. 18:20:34(UTC)

nickm

Статус: Активный участник

Группы: Участники

Зарегистрирован: 31.05.2016(UTC)
Сообщений: 1,037

Сказал(а) «Спасибо»: 305 раз
Поблагодарили: 162 раз в 149 постах

Можно предположить, что ожидается др. сертификат для расшифровки сообщения.

Но, тут скорее люди близкие к разработке подскажут, т.к., полагаю, тут не в СКЗИ дело.


Вверх


Offline

VladKilin

 


#3
Оставлено
:

18 мая 2023 г. 18:35:53(UTC)

VladKilin

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

Группы: Участники

Зарегистрирован: 18.05.2023(UTC)
Сообщений: 5
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Да в принципе можно предположить, что под иной КЭП зашифрован файл, но не в данном случае.


Вверх


Offline

Андрей *

 


#4
Оставлено
:

18 мая 2023 г. 19:36:47(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,987
Мужчина
Российская Федерация

Сказал «Спасибо»: 457 раз
Поблагодарили: 1905 раз в 1474 постах

Автор: VladKilin Перейти к цитате

Да в принципе можно предположить, что под иной КЭП зашифрован файл, но не в данном случае.

а сам зашифрованный файл приложите, посмотрим, правда ли это.

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW


Offline

Андрей *

 


#5
Оставлено
:

18 мая 2023 г. 19:40:53(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,987
Мужчина
Российская Федерация

Сказал «Спасибо»: 457 раз
Поблагодарили: 1905 раз в 1474 постах

извлёк зашифрованные данные из log,
Размер: 991 байт

Требуется сертификат с серийным номером:
01F262C300DCAFB6AE42693F8DB06DA746

на снимке же у Вас совсем другой серийный номер:
Snimok ehkrana ot 2023-05-18 20-33-19.png (25kb) загружен 5 раз(а).

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW

thanks 2 пользователей поблагодарили Андрей * за этот пост.

nickm

оставлено 18.05.2023(UTC),

VladKilin

оставлено 19.05.2023(UTC)


Offline

VladKilin

 


#6
Оставлено
:

19 мая 2023 г. 10:36:13(UTC)

VladKilin

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

Группы: Участники

Зарегистрирован: 18.05.2023(UTC)
Сообщений: 5
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Спасибо больше за рабзбор. Подскажите как вы вытащили зашифрованный файл из данного лога? На будущее так скажем, чтобы можно было так же проверить данные.


Вверх


Offline

Андрей *

 


#7
Оставлено
:

19 мая 2023 г. 10:58:06(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,987
Мужчина
Российская Федерация

Сказал «Спасибо»: 457 раз
Поблагодарили: 1905 раз в 1474 постах

Автор: VladKilin Перейти к цитате

Спасибо больше за рабзбор. Подскажите как вы вытащили зашифрованный файл из данного лога? На будущее так скажем, чтобы можно было так же проверить данные.

В логе перед текстом ошибки смотреть:

Цитата:

«method»:»Decrypt«,»params»:[{«type»:»string»,»value»:»данные в base64

Snimok ehkrana ot 2023-05-19 11-51-12.png (28kb) загружен 4 раз(а).

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW

thanks 1 пользователь поблагодарил Андрей * за этот пост.

VladKilin

оставлено 19.05.2023(UTC)


Offline

VladKilin

 


#8
Оставлено
:

19 мая 2023 г. 11:07:39(UTC)

VladKilin

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

Группы: Участники

Зарегистрирован: 18.05.2023(UTC)
Сообщений: 5
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

А как его потом в удобоворимый вид привести чтобы увидеть серийный номер, т.к. если переводить допустим на base64.ru там такого не увидишь


Вверх


Offline

Андрей *

 


#9
Оставлено
:

19 мая 2023 г. 12:50:46(UTC)

Андрей *

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

Группы: Участники

Зарегистрирован: 26.07.2011(UTC)
Сообщений: 11,987
Мужчина
Российская Федерация

Сказал «Спасибо»: 457 раз
Поблагодарили: 1905 раз в 1474 постах

Автор: VladKilin Перейти к цитате

А как его потом в удобоворимый вид привести чтобы увидеть серийный номер, т.к. если переводить допустим на base64.ru там такого не увидишь

нет, необходимо декодировать и записать в файл, далее
через asn1 или утилиты, которые показывают список проверяют наличие в личных.

у меня такая под win, текстовым отчётом сообщает:
Snimok ehkrana ot 2023-05-19 13-18-35.png (8kb) загружен 7 раз(а).

Техническую поддержку оказываем тут
Наша база знаний


Вверх

WWW

thanks 1 пользователь поблагодарил Андрей * за этот пост.

VladKilin

оставлено 19.05.2023(UTC)


Offline

VladKilin

 


#10
Оставлено
:

19 мая 2023 г. 14:04:32(UTC)

VladKilin

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

Группы: Участники

Зарегистрирован: 18.05.2023(UTC)
Сообщений: 5
Российская Федерация

Сказал(а) «Спасибо»: 3 раз

Понял, спасибо большое. Разобрался.


Вверх

Пользователи, просматривающие эту тему

Guest (2)

Форум КриптоПро
 » 
Средства криптографической защиты информации
 » 
КриптоПро CSP 5.0
 » 
Ошибка: «Не удается найти сертификат и закрытый ключ для расшифровки. (0x8009200C)»

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Для корректной работы с электронной подписью (ЭП, ранее — ЭЦП) достаточно соблюсти четыре условия. Во-первых, приобрести средства ЭП в удостоверяющем центре (УЦ). Во-вторых, установить лицензионное средство криптозащиты (СКЗИ, криптопровайдер). В-третьих, загрузить на рабочее место личный, промежуточный и корневой сертификаты. И, в-четвертых, настроить браузер для подписания электронных файлов на веб-порталах. Если хотя бы одно из условий не соблюдено, в процессе использования ЭП возникают различные ошибки: КриптоПро не видит ключ, недействительный сертификат, отсутствие ключа в хранилище и другие. Самые распространенные сбои и способы их устранения рассмотрим в статье.

Настроим вашу электронную подпись под ключ за 30 минут!

Оставьте заявку и получите консультацию.

Почему КриптоПро не видит ключ ЭЦП

КриптоПро CSP — самый популярный криптографический софт на российском рынке. Большинство торговых площадок и автоматизированных госсистем работают только с этим криптопровайдером. Программное обеспечение распространяется на безвозмездной основе разработчиком и через дистрибьюторскую сеть, а за лицензию придется платить. При покупке квалифицированной ЭП (КЭП) клиенты получают набор средств:

  • закрытый и открытый ключи;
  • сертификат ключа проверки электронной подписи (СКПЭП, СЭП) — привязан к открытому ключу;
  • физический носитель, на который записываются все перечисленные средства.

Каждый раз, когда владельцу СЭП нужно подписать цифровой файл, он подключает USB-носитель к ПК и вводит пароль (двухфакторная идентификация). Возможен и другой путь — записать все компоненты в реестр ПК и пользоваться ими без физического криптоключа. Второй способ не рекомендован, так как считается небезопасным.

В работе с ЭП возникают такие ситуации, когда пользователь пытается заверить документ в интернете или в специальном приложении, открывает список ключей и не видит СЭП. Проблема может быть спровоцирована следующими факторами:

Ошибка Решение
Не подключен носитель Подсоединить токен к ПК через USB-порт (об успешном подключении свидетельствует зеленый индикатор на флешке)
Не установлено СКЗИ Установить криптопровайдер, следуя инструкции
Не установлен драйвер носителя Чтобы компьютер «увидел» устройство, нужно установить специальную утилиту. Как правило, она предоставляется удостоверяющим центром при выдаче подписи. Руководство по инсталляции можно найти на портале разработчика
На ПК не загружены сертификаты Установить корневой, промежуточный и личный сертификаты (как это сделать, рассмотрим далее)
Не установлен плагин для браузера Скачать ПО на сайте www.cryptopro.ru< и установить по инструкции

Ошибка КриптоПро «0x80090008»: указан неправильный алгоритм

Если версия CryptoPro не соответствует новым условиям сдачи отчетности, пользователь увидит на экране уведомление с кодом ошибки «0x80090008». Это значит, что на ПК установлен устаревший релиз программы, и его необходимо обновить. Для начала проверьте сертификат:

  1. В меню «Пуск» выберите пункт «Все программы» → «КриптоПро».
  2. Откройте «КриптоПро CSP сервис» и выберите команду «Протестировать».
  3. Нажмите кнопку «По сертификату» и укажите нужный файл.

При наличии ошибки в СЭП система на нее укажет.

Удаление программы

Если никаких проблем не обнаружено, ошибку неправильного алгоритма поможет устранить переустановка СКЗИ:

  1. Найти криптопровайдер через «Пуск».
  2. Выбрать команду «Удалить».
  3. Перезагрузить ПК.

Чтобы новая программа работала корректно, перед установкой требуется удалить все следы старой версии с помощью фирменной утилиты cspclean от CryptoPro:

  1. Запустить файл cspclean.exe на рабочем столе.
  2. Подтвердить удаление продукта клавишей «ДА».
  3. Перезагрузить компьютер.

Контейнеры, сохраненные в реестре, удалятся автоматически.

Установка актуального релиза

Дистрибутивы для скачивания СКЗИ размещены в разделе «Продукты» и доступны для скачивания всем авторизованным пользователям. Создание ЛК занимает не более 5 минут:

  1. Нажмите кнопку «Регистрация».
  2. Введите личные данные и подтвердите согласие на доступ к персональной информации.

В каталоге продуктов выберите версию криптопровайдера с учетом ОС, загрузите установщик на ПК, запустите его и следуйте подсказкам. При установке ПО требуется указать серийный номер лицензии (если срок действия еще не истек). Эту информацию можно уточнить в приложении к договору.

По отзывам пользователей, переустановка ПК почти всегда помогает в устранении ошибки «0x80090008». Если проблема не решена, рекомендуется написать в техподдержку разработчика или обратиться к официальному дистрибьютору, у которого вы купили лицензию.

КриптоПро вставлен другой носитель: как исправить

Ошибка «Вставьте ключевой носитель» или «Вставлен другой носитель» возникает при попытке подписания электронного документа. Сначала следует убедиться, что USB-токен с сертификатом подключен к ПК (в качестве носителя используются защищенные криптоключи или обычные флешки). Токен должен соответствовать сертификату. Если носитель подсоединен к ПК, но сообщение об ошибке все равно появляется, следует переустановить сертификат через CryptoPro:

  1. Открыть меню «Пуск» → «Панель управления» → «КриптоПро CSP».
  2. Зайти во вкладку «Сервис» → «Посмотреть сертификаты в контейнере» → «Обзор».
  3. Выбрать из списка ключевой контейнер, нажать ОК и «Далее».
  4. Нажать «Установить». Если появится предупреждение о том, что сертификат уже присутствует в хранилище, дать согласие на его замену.
  5. Дождаться загрузки сертификата в хранилище «Личное» и нажать ОК.

После переустановки рекомендуется перезагрузить ПК. Для первичной инсталляции СКПЭП применим аналогичный алгоритм действий.

Мы готовы помочь!

Задайте свой вопрос специалисту в конце статьи. Отвечаем быстро и по существу. К комментариям

Недостаточно прав для выполнения операции в КриптоПро

Ошибка сопровождается уведомлением «У компонента недостаточно прав для доступа к сертификатам». Чаще всего возникает в двух ситуациях:

  1. При попытке авторизоваться в ЛК, например, на портале контролирующего органа, куда нужно отправить отчет (при нажатии на пиктограмму «Вход по сертификату»).
  2. При проверке КЭП (при нажатии кнопки «Проверить» в разделе «Помощь»).

Если система уведомила пользователя, что у него недостаточно прав для выполнения операции в КриптоПро, проблема может иметь следующие причины:

  • не установлен КриптоПро ЭЦП Browser plug-in 2.0 (или стоит его старая сборка);
  • сайт, куда пытается войти клиент, не добавлен в каталог доверенных (надежных) ресурсов.

Browser plug-in — обязательный компонент для применения ЭП на веб-страницах. Он расширяет возможности криптопровайдера, позволяет формировать и проверять электронную подпись на интернет-ресурсах. Без этой программы, КриптоПро не сможет связаться с веб-страницей и реализовать на ней функции КЭП. Пользователи ничего не платят за этот модуль, он размещен в свободном доступе на сайте и совместим с любыми операционными системами. Как установить:

  1. Сохранить дистрибутив cadesplugin.exe.
  2. Запустить инсталляцию, кликнув по значку установщика.
  3. Разрешить программе внесение изменений клавишей «Да».

Появится уведомление об успешном результате. Нажмите ОК и перезагрузите браузер, чтобы коррективы вступили в силу.

Для работы с сертификатом ЭП рекомендуется использовать браузер Microsoft Internet Explorer (MIE) — для него не требуются дополнительные настройки. На завершающем этапе необходимо добавить сайт в список доверенных:

  1. Через меню «Пуск» (CTRL+ESC) найти продукт КриптоПро CSP.
  2. Зайти в настройки плагина ЭЦП Browser.
  3. В разделе «Список доверенных узлов» ввести адреса всех ресурсов, принимающих ваш сертификат.

Если после перезагрузки ПК проблема не решена, рекомендуется удалить плагин и выполнить повторную инсталляцию.

Выпустим и настроим электронную подпись для сотрудника прямо в день обращения!

Оставьте заявку и получите консультацию.

Ошибка исполнения функции при подписании ЭЦП

Ошибка свидетельствует об отсутствии лицензии на продукт КриптоПро CSP. Зачастую она возникает при попытке подписать документ на торговых площадках или в информационных системах (ЕГАИС, ЖКХ, Росреестр, Госуслуги и др.).

Лицензия на криптопровайдер может быть привязана к АРМ или встроена в сертификат ЭП. В первом случае необходимо убедиться, что лицензия введена на рабочем ПК и актуальна. Срок действия можно уточнить на вкладке «Общее» в меню запущенного криптопровайдера. Если он истек, необходимо обратиться к разработчику или официальному дистрибьютору для продления или покупки новой лицензии. Во втором случае ошибка исполнения функции при подписании ЭЦП возникает при отсутствии установленного на ПК сертификата.

Ошибка при проверке цепочки сертификатов в КриптоПро

Юридически значимую документацию можно заверить электронной подписью только в том случае, если СКЗИ подтвердит надежность (доверенность) сертификата. Для этого программа проверяет цепочку сертификации (ЦС), состоящую из таких элементов:

  • корневой сертификат от Минкомсвязи (начальное звено цепи), выданный УЦ;
  • промежуточный сертификат УЦ (ПС);
  • СКПЭП.

Правильно построенная ЦС подтверждает, что СКПЭП (конечное звено) имеет доверенный путь (от Минкомсвязи к УЦ, от УЦ к пользователю). Ошибка при проверке цепочки сертификатов в КриптоПро свидетельствует о том, что минимум один элемент в этой системе искажен. ЭП при этом считается недействительной и не принимается для подписания файлов.

Причина Решение
Один из сертификатов поврежден или некорректно установлен Переустановить сертификат
Неправильно установлено СКЗИ (или стоит устаревшая версия) Удалить и заново установить программу
Устаревшая версия веб-браузера Обновить браузер
На ПК не актуализированы дата и время Указать в настройках компьютера правильные значения

На первой причине остановимся подробнее. Чтобы проверить состояние ЦС, откройте папку криптопровайдера, выберите раздел «Сертификаты» → «Личное». Если цепочка нарушена, во вкладке «Общее» будет сообщение о том, что СКПЭП не удалось проверить на надежность.

Устранение сбоя следует начинать с верхнего звена (КС). Файл предоставляется клиенту в удостоверяющем центре вместе с остальными средствами: ключи, СКПЭП, промежуточный сертификат и физический носитель. Кроме того, его можно скачать бесплатно на сайте Казначейства (КС для всех одинаковый). Как загрузить КС:

  1. Открыть документ от Минкомсвязи на компьютере.
  2. В разделе «Общее» выбрать команду установки.
  3. Установить галочку напротив пункта «Поместить в хранилище».
  4. Из списка выбрать папку «Доверенные корневые центры».
  5. Нажать «Далее» — появится уведомление об успешном импорте.

По завершении процедуры рекомендуется перезагрузить ПК. Если сбой не устранен, переходим к промежуточному компоненту. При утере ПС его можно загрузить с официального сайта УЦ. Процесс установки такой же, как и для КС, но в качестве хранилища должно быть указано «Промежуточные центры».

После перезагрузки ПК снова зайдите в папку «Личное» и откройте СКПЭП. Если во вкладке «Путь сертификации» будет статус «Сертификат действителен» — ошибка устранена.

Электронная подпись описи содержания пакета недействительна

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

Если при попытке заверить ведомость пользователь увидит сообщение о недействительности сертификата, значит подписать основной комплект тоже не удастся. Эта ошибка распространяется на все типы файлов, а не на какой-то конкретный документ.

Причина сбоя — нарушение доверенной цепочки, о которой было сказано ранее. В первую очередь следует проверить наличие и корректность КС и ПС. Если они установлены, удалите эти файлы и загрузите снова.

Проблемы с браузером

Для заверки электронных файлов в интернете разработчик СКЗИ рекомендует использовать встроенный веб-обозреватель MIE. Но даже с ним бывают сбои. Если это произошло, зайдите в браузер под ролью администратора:

  1. Кликните по значку браузера на рабочем столе.
  2. В контекстном меню выберите соответствующую роль.

Чтобы всякий раз не предпринимать лишние действия, в настройках можно задать автоматический доступ под нужными правами. Неактуальную версию браузера необходимо обновить до последнего релиза. Также следует отключить антивирусные программы, так как многие из них блокируют работу СКЗИ, воспринимая как вредоносное ПО.

Не работает служба инициализации

Если работа сервиса инициализации Crypto Pro приостановлена, СКПЭП тоже не будет работать. Запустите командную строку клавишами Win+R:

  1. Введите команду services.msc.
  2. В разделе «Службы» выберите «Службу инициализации» и проверьте в свойствах ее активность.

Если сервис отключен, запустите его и нажмите ОК. После перезапуска ПК электронная подпись должна снова работать корректно.

Сертификаты не отвечают критериям КриптоПро

Ошибка всплывает при попытке авторизоваться в информационной госсистеме (например, «Электронный Бюджет» и др.). Пользователь видит сообщение следующего содержания:

Первый способ устранения сбоя — «снести» СКЗИ и поставить заново, как описано выше. Если это вариант не сработал, значит проблема кроется в неправильном формировании ЦС. Рассмотрим на примере. Отправитель зашел в СКПЭП и в подразделе «Общее» увидел статус «Недостаточно информации для проверки этого сертификата». В первую очередь рекомендуется проверить наличие корневого сертификата в цепочке и при его отсутствии выполнить установку (алгоритм описан ранее). Если этот метод не помог, на форуме разработчика приводится еще один способ: от имени администратора вызвать «Пуск» → «Выполнить» → «regedit». Далее необходимо удалить ветки:

Не все бывают в наличии, поэтому удаляйте те, что есть. Процедура не вредит системе и сохраненным файлам, но помогает не в каждом случае (обычно ошибку удается устранить при установке корневого сертификата).

«1С-ЭДО» не видит КриптоПро CSP

«1С-ЭДО» — программа для обмена электронными документами, интегрированная в учетную базу «1С». Сервис позволяет удаленно взаимодействовать с контрагентами и отправлять отчетность в надзорные органы (ФНС, ПФР, ФСС, Росстат и др.). Чтобы документы приобрели юридическую силу, их необходимо заверить квалифицированной ЭП. Если сервис «1С-ЭДО» «не видит» ключ в КриптоПро CSP, рекомендованы следующие действия:

  • проверить, установлена ли на компьютере актуальная версия криптопровайдера;
  • при наличии СКЗИ уточнить, соответствует ли оно той программе, которая была указана в настройках обмена с «1С».

Как проверить настройки криптопровайдера:

  1. Запустить сервис «1С-ЭДО».
  2. Перейти в раздел «Отчеты» → «Регламентированные отчеты».
  3. Нажать кнопку «Настройки».
  4. В подразделе «Документооборот с контролирующими органами» нажать кнопку «Здесь».

Если в поле «Криптопровайдер» указана не та программа, которая установлена на ПК (например, VipNet), поменяйте ее в настройках и сохраните клавишей ОК. Для правильной работы сервиса ЭДО рекомендуется использовать на одном АРМ только один из сертифицированных провайдеров.

Подберем USB-носитель для ЭП. Доставка — в любую точку России!

Оставьте заявку и получите консультацию в течение 5 минут.

Александр Киреев

Эксперт отдела автоматизации и развития бизнеса Online-kassa.ru. Бизнес-тренер и аналитик, отвечает за работу с ключевыми клиентами.

Оцените, насколько полезна была информация в статье?

Наш каталог продукции

У нас Вы найдете широкий ассортимент товаров в сегментах
кассового, торгового, весового, банковского и офисного оборудования.

Посмотреть весь каталог

I work in company with many servers and Pcs for developers. Servers are win2003, PC developers Windows XP.

In a server Win2003 named preiis01, in preproduction environment, other people in company install a client certificate using any other user (domainCompanyadminsystems) for logging in server preiis01.

Anyone admin uses the user «domainCompanyadminsystems» for log in server preiis01 (using Terminal Server, Remote Desktop for Windows XP).

the admin user is domainCompanyadminsystems», which installs certificate.

Admin user install it like this:

Session login like «domainCompanyadminsystems»
Certificate is PFX file. Do Install PFX and using Wizard. The key private not check for export.
Input the password and install.

There is an application Web which AppPool Identity is: NETWORK SERVICE account.

web server is IIS 6.0.

in preiis01,

That admin user executes mmc -> Snap in -> Certificates for Local Machine. In node -> Personal -> Certificates, he had seen the client certificate:

Issued To ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1

Issued By FNMT Clase 2 CA

In properties of certificate, the thumbprint: «93 bc a4 ad 58 c9 3c af 8b eb 0b 2f 86 c7 9d 81 70 a6 c4 13»

That admin user executes this commands:

winhttpcertcfg.exe LOCAL_MACHINEMy -s «ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1» -g -a «NETWORK SERVICE»

Result is:

Matching certificate:

CN=ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1

OU=703015476

OU=FNMT Clase 2 CA

O=FNMT

C=ES

Granting private key access for
account: NT AUTHORITYNETWORK SERVICE

Now, admin user executes this command:

winhttpcertcfg.exe -l -c LOCAL_MACHINEMy -s «ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1»

The result is:

Matching certificate:

CN=ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1

OU=700012476

OU=FNMT Clase 2 CA

O=FNMT

C=ES

Additional accounts and groups with
access to the private key include:
domainCompanyadminsystems NT
AUTHORITYSYSTEM
BUILTINAdministrators NT
AUTHORITYNETWORK SERVICE

NOw, in an aspx page in application web in server Win2003, IIS 6.0, I have this code:

NOte: value for X509Certificate2.HasPrivateKeyAccess() is NO (false) for «ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1» certificate.

ASP.NET application executes using the identity :: NT AUTHORITYNETWORK SERVICE

lbInfo.Text += "<br/><br/>ASP.NET application executes using the identity :: <b>" + WindowsIdentity.GetCurrent().Name + "</b><br>";


            var store = new X509Store(StoreLocation.LocalMachine);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
            Certificates = store.Certificates;
            repeater1.DataSource = Certificates;
            repeater1.DataBind();

            var nombreCertificado = "ENTIDAD COMPANY INSURE SA - CIF A93 - NOMBRE SURNAME1 NAME1";

            store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
            store.Open(OpenFlags.ReadOnly);

            X509Certificate2Collection col = store.Certificates.Find(X509FindType.FindBySubjectName, nombreCertificado, false);

            if (col.Count > 0)
            {
                X509Certificate2 certificate = col[0];
                store.Close();
                Message.Text = "Certificado " + nombreCertificado + " encontrado en " + StoreLocation.LocalMachine;

                FirmarConCertificado(nombreCertificado, certificate);

            }
            else
            {
                store.Close();
                Message.Text = "El certificado " + nombreCertificado + " no esta instalado en la máquina";
            }


public void FirmarConCertificado(string nombreCertificado, X509Certificate2 certificate)
{
    try
    {
 var mensaje = "Datos de prueba";
                System.Text.Encoding enc = System.Text.Encoding.Default;
                byte[] data = enc.GetBytes(mensaje);

                var contentInfo = new System.Security.Cryptography.Pkcs.ContentInfo(data);
                var signedCms = new System.Security.Cryptography.Pkcs.SignedCms(contentInfo, true);

                var cmsSigner = new System.Security.Cryptography.Pkcs.CmsSigner(certificate);

                //  Sign the CMS/PKCS #7 message
                signedCms.ComputeSignature(cmsSigner);

                //  Encode the CMS/PKCS #7 message
               var ret = Convert.ToBase64String(signedCms.Encode());

 Message.Text += "Firmado con Certificado " + nombreCertificado + " encontrado en " + StoreLocation.LocalMachine;
 }
 catch (Exception ex)
 {
 Message.Text = "Error al firmar con certificado: " + ex.ToString();
 Message.Text += "<br /><br />InnerException: " + ex.InnerException;
 }

}

The code fails for me, and I get this error: Cannot find the certificate and private key for decryption.

Error line is:signedCms.ComputeSignature(cmsSigner);

Error al firmar con certificado:
System.Security.Cryptography.CryptographicException:
Cannot find the certificate and
private key for decryption.

at
System.Security.Cryptography.Pkcs.PkcsUtils.CreateSignerEncodeInfo(CmsSigner
signer, Boolean silent) at
System.Security.Cryptography.Pkcs.SignedCms.Sign(CmsSigner
signer, Boolean silent) at
System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner
signer, Boolean silent) at
System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner
signer) at
ASP.dgsfp_test_testcert_aspx.FirmarConCertificado(String
nombreCertificado, X509Certificate2
certificate) in
c:CompanyAppTestTestCert.aspx:line
242

Then, the admin user (I remember, who install the certificate) executes this commands:

FindPrivateKey My LocalMachine -t «93
bc a4 ad 58 c9 3c af 8b eb 0b 2f 86 c7
9d 81 70 a6 c4 13» –c

FindPrivateKey
My LocalMachine -n «ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1» –a

FindPrivateKey My LocalMachine -n
«CN=ENTIDAD COMPANY INSURE SA — CIF A93 — NOMBRE SURNAME1 NAME1»
–a

The result for all 3 commands is the same:

FindPrivateKey helps user to find the
location of the Private Key file of a
X.50 9 Certificate.

Usage: FindPrivateKey [{ {-n } | {-t }
} [-f | -d | -a]]

subject name of the
certificate

thumbprint of the
certificate (use certmgr.exe to get
it)

-f output file name only

-d output directory only

-a output absolute file
name e.g. FindPrivateKey My
CurrentUser -n «CN=John Doe»

e.g. FindPrivateKey My LocalMachine -t
«03 33 98 63 d0 47 e7 48 71 33 62 64
76 5 c 4c 9d 42 1d 6b 52» -c

FindPrivateKey don’t get anything, but winhttpcertcfg.exe -l works fine (matching certificate)

We have given privileges to the Network Service user using the winhttpcertcfg.exe tool, and in code ASP.NET (execute under Network Service account) the certificate is found. But fails when sign using certificate.

If someone could give us some information about, or suggestions

update:

User in domain «domainCompanyPre_Certificado» install Certificate in Store Local Machine.

domainCompanyPre_Certificado is Administrator, in IIS_WPG group, has Local Policies: “Log on as Service“

I configure AppPool Identity in IIS 6.0 for : domainCompanyPre_Certificado

ASP.NET application executes using the identity :: domainCompanyPre_Certificado

I recycle AppPool and execute application, I get System.Security.Cryptography.CryptographicException: Cannot find the certificate and private key for decryption

If I test again, log in session in server IIS, using domainCompanyPre_Certificado user, I call page in ASP.NET application and all is OK.

(note: log in server IIS using Terminal Server)

But if log off session in server IIS (user: domainCompanyPre_Certificado), I get the same error:

System.Security.Cryptography.CryptographicException: Cannot find the certificate and private key for decryption

Any suggestions ??

Решение вопроса:

Для этого необходимо открыть Средство криптозащиты:
1. КРИПТО ПРО
Открыть вкладку Сервис/Просмотреть сертификаты в контейнере/в открывшемся окне нажать Обзор, выбрать из списка требуемый сертификат/ОК/Далее/Установить/ОК/Готово
2. Vip Net
Открыть Vip Net/в списке выбрать требуемый сертификат, щелкнув по нему дважды/Открыть/Установить/Далее по мастеру/Готово
Открыть 1С/Регламентированные отчеты/1С Отчетность/Настройки/Настройки обмена с ПФР, ФНС и Росстат/Выбрать учетную запись и в открывшемся окне нажать Ввтоматическая настройка/ОК
Также этот вопрос ищут:»не удается найти сертификат и закрытый ключ для расшифровки. (0x8009200b)»

Понравилась статья? Поделить с друзьями:
  • Ошибка не удалось найти выделенный сервер cs go
  • Ошибка не удалось обновиться валорант
  • Ошибка не удалось найти аккаунт гугл
  • Ошибка не удалось найти steam api dll
  • Ошибка не удалось найти ip адрес сервера