Причины возникновения ошибки
Ошибка «В контейнере закрытого ключа отсутствует сертификат открытого ключа» может возникать во время установки нового личного сертификата, а также при попытке просмотра закрытых ключей через контейнеры или при экспорте данных с компьютера на флешку или с электронного носителя на ПК.
Обычно причина неисправности кроется в отсутствии на носителе открытого ключа. Исправить ситуацию можно простой установкой.
Иногда во время установки сертификатов электронной цифровой подписи через КриптоПро после выбора ключевого контейнера возникает ошибка: «В контейнере закрытого ключа отсутствует открытый ключ шифрования». Ее устранение в большинстве случаев не требует обращения в службу поддержки пользователей: достаточно лишь следовать пошаговой инструкции установки в контейнер закрытого ключа подписи.
Криптопровайдер КриптоПро на сегодняшний день является, пожалуй, самым популярным на рынке, по крайней мере в России. Я хочу рассказать, как быстро и удобно перенести большое количество контейнеров закрытых ключей CryptoPro и сертификатов к ним. Существует штатный механизм в самой программе, работает в ручном режиме и не подходит, когда надо перенести большое количество.
Заказать настройку ЭЦП от 500 р.
Электронные цифровые подписи (ЭЦП) всё чаще используются предпринимателями и физлицами. Это экономит время и денежные средства. ЭЦП невозможно подделать, а внесение изменений в данные после подписания документа исключено. Причём для взаимодействия с контролирующими органами необходима именно квалифицированная подпись (КЭП). Получить её можно в аккредитованных удостоверяющих центрах. А вот о том, как установить сертификат ЭЦП на компьютер после её получения, мы пошагово расскажем в этой статье.
Электронная подпись может быть сформирована разными криптопровайдерами. В статье мы расскажем о том, как происходит установка сертификата электронной цифровой подписи, сформированной криптопровайдером КриптоПро.
Введение
Мне постоянно приходится иметь дело с сертификатами, токенами, закрытыми ключами, криптопровайдерами и прочим. Сейчас все завязано на это — банкинг, сдача отчетности в разные гос органы, обращения опять же в эти органы, в том числе и физ лиц. В общем, с этой темой рано или поздно придется познакомиться многим. Для того, чтобы перенести все это хозяйство с одного компьютера на другой, иногда приходится прилично повозиться, особенно тем, кто не в теме. Перенести закрытые ключи и сертификаты КриптоПро на другой компьютер можно двумя способами:
- Перенести или скопировать контейнер закрытого ключа через стандартную оснастку CryptoPro в панели управления. Это самый простой и быстрый способ, если у вас не много сертификатов и ключей. Если же их несколько десятков, а это не такая уж и редкость, то такой путь вам не подходит.
- Скопировать сертификаты и ключи непосредственно через перенос самих исходных файлов и данных, где все это хранится. Объем работы одинаков и для 5 и для 50-ти сертификатов, но требуется больше усилий и знаний.
Я опишу оба этих способа, но подробно остановлюсь именно на втором способе. В некоторых ситуациях он является единственно возможным.
Важное замечание. Я буду переносить контейнеры закрытого ключа, которые хранятся в реестре. Если вы храните их только на токене, то переносить контейнеры вам не надо, только сертификаты.
1. Откройте меню Пуск — Панель управления — КриптоПро CSP.
2. В окне программы КриптоПро CSP перейдите на вкладку Сервис и нажмите кнопку Просмотреть сертификаты в контейнере:
3. В следующем окне нажмите кнопку Обзор, чтобы выбрать контейнер для просмотра (в нашем примере контейнер находится на смарт-карте JaCarta):
4. После выбора контейнера нажмите кнопку Ок, затем Далее.
* Если после нажатия на кнопку Далее Вы видите такое сообщение:
5. В окне Сертификат для просмотра нажмите кнопку Установить:
6. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:
7. Дождитесь сообщения об успешной установке:
8. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Вариант 2. Установка через меню «Установить личный сертификат».
Для установки сертификата этим способом Вам понадобится файл сертификата (файл с расширением.cer). Он может находиться, например, на съемном носителе или на жёстком диске компьютера (если Вы делали копию сертификата или Вам присылали его по электронной почте).
2. В окне программы КриптоПро CSP перейдите на вкладку Сервис и нажмите кнопку Установить личный сертификат:
3. В следующем окне нажмите кнопку Обзор, чтобы выбрать файл сертификата:
4. Укажите путь к файлу сертификата и нажмите кнопку Открыть (в нашем примере файл сертификата находится на Рабочем столе):
5. В следующем окне нажмите кнопку Далее; в окне Сертификат для установки нажмите Далее.
6. Поставьте галку в окне Найти контейнер автоматически (в нашем примере контейнер находится на смарт-карте JaCarta) и нажмите Далее:
7. В следующем окне отметьте пункт Установить сертификат (цепочку сертификатов) в контейнер и нажмите Далее:
8. В окне Завершение мастера установки личного сертификата нажмите Готово:
10. Если откроется сообщение «Этот сертификат уже присутствует в хранилище сертификатов. Заменить существующий сертификат новым, с проставленной ссылкой на закрытый ключ?», нажмите Да:
11. Сертификат установлен. Можно закрыть все открытые окна КриптоПро.
Из нашей статьи вы узнаете:
ЭЦП — довольно сложный цифровой продукт, обращение с которым в определенных ситуациях может потребовать некоторых навыков и знаний. Например, в ходе установки сертификатов ЭП посредством «КриптоПро» после выбора соответствующего ключевого контейнера нередко выдаются неприятные сообщения об ошибке вследствие отсутствия открытого шифровочного ключа, который необходим для обеспечения информационной безопасности, без чего система не будет принимать ЭЦП.
Такую ошибку несложно устранить без вызова специалиста или обращения в службу поддержки. Алгоритм действий, направленных на решение этой проблемы, приводится ниже.
Что может послужить причиной такой ошибки
Всплывающее окно со злополучным сообщением об ошибке появляется на экранах пользователей в тех случаях, если система не смогла обнаружить соответствующий ключ на носителе. Такая ситуация происходит при следующих действиях пользователей:
- установка сертификата впервые;
- экспортирование данных на внешний носитель;
- попытка просмотра ключей в контейнерах ключей;
- загрузка информации на компьютер извне.
В целях устранения ошибки обычно бывает достаточно произвести корректную ручную переустановку сертификата.
Отсутствие электронного сертификата в контейнере закрытого ключа
Для начала запускаем «КриптоПро» нажатием кнопки «Пуск». Затем выбираем «Настройку», в возникающем на мониторе окне заходим в опцию панели управления, далее «сервис – установить личный сертификат».
Далее, через кнопку «обзор» указываем путь, где сохранен открытый ключ – файл с расширением *.cert или *.crt
Жмём «Далее», в мастере установки сертификата мы увидим путь, который указывали до нашего сертификата.
Нам отображается информация, содержащаяся в открытом ключе на пользователя, жмём «далее»
В следующем окне можно воспользоваться двумя путями поиска нужного контейнера закрытого ключа:
- «найти контейнер автоматически
- вручную через «обзор»
В первом случае КриптоПро на основе данных из открытого ключа подберет закрытый, в случае с ручным поиском нужно будет знать название закрытого ключа, чтобы выбрать его для установки
Самый простой вариант выбрать автоматический поиск, затем после «обнаружения» необходимого контейнера, мы увидим заполненную строчку с его именем и после жмём «Далее»
Личный сертификат пользователя всегда устанавливается в хранилище «Личное», можно выбрать как вручную, так и КриптоПро может сделать это за вас по умолчанию, затем подтверждаем установку цепочки сертификатов и жмём «Далее»
В случае успешной установки КриптоПро выдаст окно с информацией об окончании процедуры и жмём «Готово»
Затем появится окно с подтверждением данной операции, жмём «ДА»
В следующем окне увидим информацию о том, что процесс окончен успешно. Сертификат установлен в контейнер закрытого ключа.
Особенности версий КриптоПро
С января 2019 года квалифицированные сертификаты могут выпускаться только по ГОСТ 2012, выпуск по другому ГОСТу прекращен. Мы об этом писали ранее в статье. Важно помнить, что версии криптопро на ГОСТ 2012 работают только с версии 4.0 и выше. Все старые версии КриптоПро, для нормальной работы, потребуется обновить или заменить на актуальную. Сделать это нужно не позднее 31 декабря 2019 года.
Часто к нам обращаются с вопросом, как установить сертификат через КриптоПpo CSP. Ситуации бывают разные: сменился директор или главбух, получили новый сертификат в удостоверяющем центре и т.п. Раньше все работало, а теперь нет. Рассказываем, что нужно делать, чтобы установить личный цифровой сертификат на компьютер.
Вы можете установить личный сертификат двумя способами:
1. Через меню КриптоПро CSP «Просмотреть сертификаты в контейнере»
2. Через меню КриптоПро CSP «Установить личный сертификат»
Если на рабочем месте используется операционная система Windows 7 без SP1, то устанавливать сертификат следует по рекомендациям варианта № 2.
Вариант № 1. Устанавливаем через меню «Просмотреть сертификаты в контейнере»
Чтобы установить сертификат:
2. В открывшемся окне нажмите на кнопку “Обзор”. Выберите контейнер и подтвердите свой выбор кнопкой ОК.
3. В следующем окне нажмите “Далее”.
4. Если на вашем компьютере установлена версия “КриптоПро CSP” 3.6 R2 (версия продукта 3.6.6497) или выше, то в открывшемся окне нажмите на кнопку “Установить”. После этого согласитесь с предложением заменить сертификат.
Если кнопка “Установить” отсутствует, в окне “Сертификат для просмотра” нажмите кнопку “Свойства”.
6. В окне “Мастер импорта сертификатов” выберите “Далее”.
7. Если у вас уставлена версия “КриптоПро CSP” 3.6, то в следующем окне достаточно оставить переключатель на пункте “Автоматически выбрать хранилище на основе типа сертификата” и нажать “Далее”. Сертификат будет автоматически установлен в хранилище “Личные”.
8. В следующем окне нажмите “Далее”, затем “Готово” и дождитесь сообщения об успешной установке сертификата: “Импорт успешно выполнен”.
Вариант 2. Устанавливаем через меню «Установить личный сертификат»
Для установки вам понадобится, собственно, сам файл сертификата (с расширением .cer). Он может находиться, например, на дискете, на токене или на жестком диске компьютера.
2. В окне “Мастер установки личного сертификата” нажмите на кнопку “Далее”. В следующем окне, чтобы выбрать файл сертификата, нажмите “Обзор”.
3. Укажите путь к сертификату и нажмите на кнопку “Открыть”, затем “Далее”.
4. В следующем окне вы можете просмотреть информацию о сертификате. Нажмите “Далее”.
5. На следующем шаге введите или укажите контейнер закрытого ключа, который соответствует выбранному сертификату. Для этого воспользуйтесь кнопкой “Обзор”.
6. Выбрав контейнер, нажмите “Далее”.
7. Дальше вам необходимо выбрать хранилище, куда будет установлен сертификат. Для этого в окне “Выбор хранилища сертификатов” нажмите на кнопку “Обзор”.
Если у вас установлена версия КриптоПро CSP 3.6 R2 (версия продукта 3.6.6497) или выше, поставьте флаг “Установить сертификат в контейнер”.
8. Выберите хранилище “Личные” и нажмите ОК.
9. Хранилище вы выбрали. Теперь нажмите “Далее”, затем — “Готово”. После этого может появиться сообщение:
В этом случае нажмите “Да”.
10. Дождитесь сообщения об успешной установке личного сертификата на компьютер.
Все, можно подписывать документы, используя новый сертификат.
При работе с ЭЦП во время подписи документов может понадобиться установка нового сертификата с использованием «КриптоПро CSP» — например, когда у ЭЦП закончился срок, произошла смена главного бухгалтера или директора предприятия, либо необходима установка нового сертификата после оформления в удостоверяющем центре.
Для корректной работы может потребоваться установка личного и корневого сертификата в КриптоПро. Чтобы это сделать придерживайтесь следующей инструкции.
Установка личного сертификата
Для того чтобы установить сертификат с помощью «КриптоПро CSP», выполните следующий алгоритм:
Обратите внимание, что при установке система запоминает последний контейнер, с которого была проведена операция. Например, если вы установили личный сертификат из реестра вашего компьютера, а потом повторили процедуру с флешки, то при отсутствии последней система не сможет найти контейнер.
Как установить корневой сертификат КриптоПро
Для корректной работы сервера надо установить предварительно корневой сертификат в ваше хранилище. Для его получения необходим тестовый центр по сертификации продукта, куда можно попасть при наличии прав администратора. Также для предотвращения проблем необходимо добавить адрес интернет-сайта в список доверенных. Запросите сертификат, загрузив его из сертификационного центра. Чтобы его установить, откройте его и выполните следующие действия:
Если процесс пройдёт корректно, то корневой сертификат появится в хранилище среди доверенных центров.
Как установить контейнер закрытого ключа в реестр
После успешного копирования контейнера личный сертификат нужно установить в хранилище «Личные».
Ошибки при установке
Довольно распространённой проблемой при установке становится зависание компьютера. Обычно это связано с установкой нелицензионного ПО, наличием ошибок или отсутствием критических обновлений. Также проблемы могут возникнуть в следующих случаях:
- попытка установить недействительный сертификат;
- указание неверного пути к файлу;
- истечение срока действия сертификата.
Для корректной работы рекомендуем использовать только лицензионное ПО. Приобрести его и получить комплексную техническую поддержку можно в компании «Астрал-М». Мы входим в число официальных дилеров компании «КриптоПро», что подтверждает информация на сайте разработчика. Обращаясь в «Астрал-М», вы получаете:
- поддержку в режиме 24/7;
- оперативное оформление ЭЦП;
- любую форму оплаты;
- консультации по выбору подписи и типа лицензии;
- возможность оформления ЭЦП в офисе клиента и в ускоренном формате.
Для приобретения электронной подписи или криптопровайдера заполните форму обратной связи, чтобы наш специалист связался с вами.
Мы опишем установку сертификата электронной подписи и закрытого ключа для ОС семейства Windows. В процессе настройки нам понадобятся права Администратора (поэтому нам может понадобится сисадмин, если он у вас есть).
Если вы еще не разобрались что такое Электронная подпись, то пожалуйста ознакомьтесь вот с этой инструкцией. Или если еще не получили электронную подпись, обратитесь в Удостоверяющий центр, рекомендуем СКБ-Контур.
Хорошо, предположим у вас уже есть электронная подпись (токен или флешка), но OpenSRO сообщает что ваш сертификат не установлен, такая ситуация может возникнуть, если вы решили настроить ваш второй или третий компьютер (разумеется подпись не «прирастает» только к одному компьютеру и ее можно использовать на нескольких компьютерах). Обычно первоначальная настройка осуществляется с помощью техподдержки Удостоверяющего центра, но допустим это не наш случай, итак поехали.
Убедитесь что КриптоПро CSP 4 установлен на вашем компьютере
Для этого зайдите в меню Пуск КРИПТО-ПРО КриптоПро CSP запустите его и убедитесь что версия программы не ниже 4-й.
Если у вас токен (Рутокен например)
Прежде чем система сможет с ним работать понадобится установить нужный драйвер.
Алгоритм такой: (1) Скачиваем; (2) Устанавливаем.
Для токена может понадобиться стандартный (заводской) пин-код, здесь есть стандартные пин-коды носителей.
Если закрытый ключ в виде файлов
Закрытый ключ может быть в виде 6 файлов: header.key, masks.key, masks2.key, name.key, primary.key, primary2.key
(Если вы не боитесь командной строки, то съемный носитель можно сэмулировать примерно так: subst x: C: mp появится новый диск (X:), в нем будет содержимое папки C: mp, он исчезнет после перезагрузки. Такой способ можно использовать если вы планируете установить ключи в реестр)
Нашли файлы, записали на флешку, переходим к следующему шагу.
Установка сертификата из закрытого ключа
Теперь нам нужно получить сертификат, сделать это можно следующим образом:
- Открываем КриптоПро CSP
- Заходим на вкладку Сервис
- Нажимаем кнопку Просмотреть сертификаты в контейнере, нажимаем Обзор и здесь (если на предыдущих шагах сделали все правильно) у нас появится наш контейнер. Нажимаем кнопку Далее, появятся сведения о сертификате и тут нажимаем кнопку Установить (программа может задать вопрос проставить ли ссылку на закрытый ключ, ответьте «Да»)
- После этого сертификат будет установлен в хранилище и станет возможным подписание документов (при этом, в момент подписания документа, нужно будет чтобы флешка или токен были вставлены в компьютер)
Использование электронной подписи без токена или флешки (установка в реестр)
Если скорость и удобство работы для вас стоит чуть выше чем безопасность, то можно установить ваш закрытый ключ в реестр Windows. Для этого нужно сделать несколько простых действий:
- Выполните подготовку закрытого ключа, описанную в пунктах (2) или (3)
- Далее открываем КриптоПро CSP
- Заходим на вкладку Сервис
- Нажимаем кнопку Скопировать
- С помощью кнопки Обзор выбираем наш ключ
- Нажимаем кнопку Далее, потом придумаем какое-нибудь имя, например «Пупкин, ООО Ромашка» и нажимаем кнопку Готово
- Появится окно, в котором будет предложено выбрать носитель, выбираем Реестр, жмем Ок
- Система попросит Установить пароль для контейнера, придумываем пароль, жмем Ок
Чтобы для сертификата проставить ссылку на этот закрытый ключ выполните действия из пункта (4).
Важное замечание: портал OpenSRO не «увидит» сертификат, если вышел срок его действия.
Ошибка копирования контейнера
Но тут есть важный нюанс. Если во время создания закрытого ключа он не был помечен как экспортируемый, скопировать его не получится. У вас будет ошибка:
Ошибка копирования контейнера. У вас нет разрешений на экспорт ключа, потому что при создании ключа не был установлен соответствующий флаг. Ошибка 0x8009000B (-2146893813) Ключ не может быть использован в указанном состоянии. Либо вы просто не сможете его выбрать для копирования, если у вас последняя версия CryptoPro. Он будет неактивен:
Если получили такую ошибку, то для вас этот способ переноса не подходит. Можно сразу переходить к следующему. Отдельно расскажу, как скопировать сертификат и закрытый ключ к нему в файл, чтобы перенести на другой компьютер без использования токена. Делаем это там же на вкладке Сервис в оснастке CryptoPro. Нажимаем Посмотреть сертификаты в контейнере.
Выбираем необходимый сертификат и нажимаем Посмотреть свойства сертификата.
Далее переходим на вкладку Состав в информации о сертификате и нажимаем Копировать в файл.
Если у вас после слов «Экспортировать закрытый ключ вместе с сертификатом» нет возможности выбрать ответ «Да, экспортировать закрытый ключ», значит он не помечен как экспортируемый и перенести его таким способом не получится. Можно сразу переходить к другому способу, который описан ниже.
Если же такая возможность есть, то выбирайте именно этот пункт и жмите Далее. В следующем меню ставьте все галочки, кроме удаления. Так вам будет удобнее и проще в будущем, если вдруг опять понадобится копировать ключи уже из нового места.
Укажите какой-нибудь пароль и запомните его! Без пароля продолжить нельзя. В завершении укажите имя файла, куда вы хотите сохранить закрытый ключ. Теперь вам нужно скопировать сам сертификат. Только что мы копировали закрытый ключ для него. Не путайте эти понятия, это разные вещи. Опять выбираете этот же сертификат в списке из оснастки Crypto Pro, жмёте Копировать в файл, экспортировать БЕЗ закрытого ключа. И выбираете файл формата .CER.
Сохраните сертификат для удобства в ту же папку, куда сохранили закрытый ключ от него. В итоге у вас должны получиться 2 файла с расширениями:
- .pfx
- .cer
Вам достаточно перенести эти 2 файла на другой компьютер и кликнуть по каждому 2 раза мышкой. Откроется мастер по установке сертификатов. Вам нужно будет выбрать все параметры по умолчанию и понажимать Далее. Сертификат и контейнер закрытого ключа к нему будут перенесены на другой компьютер. Я описал первый способ переноса в ручном режиме. Им можно воспользоваться, если у вас немного сертификатов и ключей. Если их много и руками по одному переносить долго, то переходим ко второму способу.
Стоимость использования КриптоПро CSP
Каждый новый пользователь получает бесплатный тестовый период пользования программой – 90 дней. Когда этот период истечёт, нужно будет приобретать лицензию. Но иногда она уже включена в сертификат ЭЦП.
Удалённая настройка рабочего места
Если вы не смогли настроить необходимые программы рабочего стола самостоятельно, у нас существует возможность заказать данную услугу. Наши специалисты произведут качественную настройку рабочего места для работы с ЭЦП удалённо: сэкономят время, установят соответствующее расширение для браузера, произведут настройку плагинов, соблюдая нюансы по их установке.
На этом всё! Всем, кто решил обезопасить себя и свой бизнес, используя электронную подпись взамен обычной, желаем успехов в установке!
Часто задаваемые вопросы по теме статьи (FAQ)
Можно ли перенести сертификат, который находится на токене и защищен от копирования?
Очевидно, что предложенное в статье решение для этого не подойдет. Ведь тут идет речь о переносе сертификатов, которые хранятся в реестре, то есть уже были скопированы. Технические средства для копирования защищенных крипто контейнеров тоже существуют, но это не такое простое и очевидное решение.
Безопасно ли хранить сертификаты в реестре?
Это не безопасно и в общем случае я не рекомендую это делать. USB токены для хранения сертификатов придуманы не просто так. Они реально защищают сертификаты от несанкционированного копирования. Если у вас нет объективной необходимости копировать сертификаты в реестр, лучше этого не делать. Если вам нужно сделать бэкап сертификата на случай поломки токена, то просто скопируйте его в зашифрованный архив и сохраните на флешке.
Подойдет ли предложенный способ копирования сертификатов CryptoPro для VipNet?
Нет, не подойдет. В статье описан способ переноса сертификатов CryptoPro. Другие криптопровайдеры хранят сертификаты по-другому. Универсального способа для всех не существует.
Есть ли какой-то очень простой способ скопировать сертификаты crypto pro? То, что описано в статье слишком сложно для меня.
Да, есть статья на сайте контура, в ней ссылка на утилиту для копирования контейнеров Certfix. Можете воспользоваться ей.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Технические требования для КриптоПро CSP
Перед установкой КриптоПро убедитесь, что ваш компьютер отвечает минимальным техническим требованиям:
- Процессор — Intel Core 2 Duo или другой схожий по производительности x86-совместимый процессор с количеством ядер 2 и более.
- Объем оперативной памяти — не менее 1 Гб.
- Свободное место на жестком диске — не менее 100 Мб.
- Операционная система Windows — Windows Server 2003 (32-разрядная), Windows Vista (32/64-разрядная), Windows 7 (32/64-разрядная), Windows Server 2008 (32/64-разрядная), Windows Server 2008 R2 (64-разрядная), Windows 8 (32/64-разрядная), Windows Server 2012 (64-разрядная), Windows 8.1 (32/64-разрядная), Windows Server 2012 R2 (64-разрядная), Windows 10 (32/64-разрядная), Windows Server 2016 (64-разрядная).При использовании более ранних версий Windows, чем Windows 8, на компьютере должен быть установлен накопительный пакет обновления часовых поясов KB2570791.Для операционной системы должен быть установлен последний пакет обновлений.
- Internet Explorer — версия 8.0 или выше.
Как настроить рабочее место
После установки сертификата квалифицированной ЭЦП на персональном компьютере, потребуется настройка рабочего места. Необходимо проверить установку и работоспособность:
- криптопровайдера;
- физического носителя;
- браузера;
- Астрал плагина;
- плагина Astral Toolbox;
- ЭЦП на любом портале для программного продукта Астрал-ЭТ.
Проверка криптопровайдера
Для настройки работы браузера с ЭЦП, использующей КриптоПро, необходимо произвести установку плагина. Для каждого браузера потребуется определённое расширение. Разобраться поможет наша подробная инструкция.
Проверка плагинов
При возникновении проблем с Астрал Плагин требуется произвести его переустановку или произвести настройку межсетевого экрана или интернет-браузеров.
Если используются «Астрал Онлайн» или «Астрал.ОФД», плагины Astral Toolbox уже могут быть установлены. Версии данных плагинов не совместимы с продуктом «Астрал Отчёт 5.0». Обязательно требуется установка плагина не ниже версии 2.19.2.
Массовый перенос ключей и сертификатов CryptoPro с компьютера на компьютер
В интернете достаточно легко находится способ переноса контейнеров закрытых ключей КриптоПро через копирование нужной ветки реестра, где это все хранится. Я воспользуюсь именно этим способом. А вот с массовым переносом самих сертификатов у меня возникли затруднения и я не сразу нашел рабочий способ. Расскажу о нем тоже. Для дальнейшей работы нам надо узнать SID текущего пользователя, у которого мы будем копировать или переносить сертификаты с ключами. Для этого в командной строке выполните команду:
где S-1-5-21-4126888996-1677807805-1843639151-1000 — SID пользователя, у которого копируем сертификаты. Выбираем папку Keys и экспортируем ее. Этот путь актуален для 64-х битных систем — Windows 7, 8, 10. В 32-х битных путь может быть немного другой. Я специально не проверял, но поиском по реестру вы при желании найдете его.
После того, как перенесли файлы со старого компьютера на новый, открываем файл с веткой реестра в текстовом редакторе и меняем там SID пользователя со старого компьютера на SID пользователя нового компьютера. Можно прям в блокноте это сделать поиском с заменой.
После этого запускаем .reg файл и вносим данные из файла в реестр. Теперь скопируйте папку My с сертификатами в то же место в профиле нового пользователя. На этом перенос сертификатов и контейнеров закрытых ключей КриптоПро завершен. Можно проверять работу. Я не раз пользовался этим методом, на текущий момент он 100% рабочий. Написал статью, чтобы помочь остальным, так как сам не видел в интернете подробной и понятной с первого раза статьи на эту тему. Надеюсь, моя таковой получилась.
КриптоПро CSP ошибка 0x80090010 Отказано в доступе
Иногда после переноса контейнеров закрытых ключей через экспорт — импорт ветки реестра с ключами можно увидеть ошибку доступа к контейнерам. Вроде бы все на месте, ключи есть в реестре. Их можно увидеть в останстке CryptoPro, но не получается прочитать. При попытке это сделать возникает ошибка:
Ошибка обращения к контейнеру закрытого ключа. Ошибка 0x80090010: Отказано в доступе. Связано это с тем, что у текущего пользователя, под которым вы хотите получить доступ к контейнеру, нет полных прав на ветку реестра с хранящимися ключами. Исправить это просто. Переходите в редактор реестра и выставляйте полные права к ветке Keys для текущего пользователя.
Убедитесь так же, что новые права наследовались на дочерние ветки с самими ключами. Обычно это так, но перепроверить на всякий случай непомешает. После этого ошибка с доступом к контейнеру закрытого ключа исчезнет.
Сертификат не имеет связи с закрытым ключом
При возникновении ошибки «Сертификат не имеет связи с закрытым ключом» необходимо выполнить проверку сертификата электронной подписи.
Алгоритм проверки электронной подписи:
В программном продукте 1С необходимо
1. перейти в раздел «Администрирование»
2. «Обмен электронными документами»
3. «Настройка электронной подписи и шифрования»
4. На вкладке «Сертификаты» открыть используемый сертификат
5. Нажать на кнопку «Проверить»
6. Ввести пароль закрытой части ключа и нажать «Проверить»
Если в ходе проверки напротив пункта «Подписание данных» возникнет сигнализирующий об ошибке красный символ, на него необходимо нажать для открытия технической информации об ошибке.
Решение: связать сертификат с закрытом ключом.
Д ля этого необходимо:
1. Сохранить сертификат, указав директорию компьютера, где его можно будет найти. Сделать это можно из программы 1С открыв сертификат в настройках электронной подписи и шифрования и нажать кнопку «Сохранить в файл» и указать директорию операционной системы для сохранения файла.
2. Запустить криптопровайдер и выполнить установку сертификата.
В окне VIPNet CSP нажать «Установить сертификат»
В открывшемся окне необходимо выбрать директорию, куда был сохранен сертификат, выбрать сохраненный ранее сертификат и нажать «Открыть».
В открывшемся мастере установки сертификатов, нажать «Далее»
При выборе хранилища необходимо выбрать «Текущий пользователь» и нажать «Далее»
В следующем окне необходимо выбрать «Найти контейнер с закрытым ключом» и нажать «Далее».
Контейнер с закрытым ключом оперделиться автоматический. В том случае, когда контейнер не определился необходимо нажать «Обзор» и выбрать контейнер вручную, а затем нажать «Ок» и завершить установку.
В открывшемся окне криптопровайдера перейти на вкладку «Сервис» и нажать «Установить личный сертификат».
В следующем окне необходимо выбрать директорию расположения файла сертификата нажав кнопку «Обзор»
Указать директорию, в которую ранее был сохранён сертификат и нажать «Открыть».
В следующем окне мастера установки сертификатов поставить галочку «Найти контейнер автоматический». Контейнер должен определиться в окне ниже. Если автоматический не удалось найти контейнер необходимо нажать «Обзор» и самостоятельно указать контейнер. Затем нажать Далее.
Затем необходимо поставить галочку «Установить сертификат (цепочку сертификатов) в контейнер», нажать «Далее» и завершить установку.
После установки связи между сертификатом и закрытой частью ключа ошибка не воспроизводится.
КриптоПро ГОСТ 2012 Не получается добавить сертификат в 1С
Платформа 1С 8.3.13.1513, клииент-сервер Конфигурация БП 3.0.68.61 КриптоПро 5.0.11319КС1, установлена на клиенте. Сертификаты установлены на клиенте. ОС Win10
В 1С добавлены программы шифрования КриптоПро ГОСТ 2001 и КриптоПро ГОСТ 2012. Для работы с 1С-ЭДО не получается добавить сертификат ЭЦП, созданный по ГОСТ 2012. Выдается сообщение об ошибке:
Не удалось пройти проверку проверку подписания с помощью программы КриптоПро ГОСТ 2001 по причине: Ошибка интерфейса модуля криптографии. Указан неверный алгоритм
Не удалось пройти проверку проверку подписания с помощью программы КриптоПро ГОСТ 2012 по причине: Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего. Сертификат связан с модулем криптографии «Crypto-Pro GOST R 34.10.2001 Cryptographic Service Provider» с типом 75
В самом сертификате в свойствах указан алгоритм подписи ГОСТ Р 34.11-2012/34.10-2012 256 бит С этим сертификатом успешно работает веб-клиент Диадока на том же клиенте, что и 1С ЭДО.
До этого сертификат по ГОСТ 2001 был успешно добавлен в 1С и работает.
Куда копать? В чем может быть проблема? Головной сертификат этого «проблемного» сертификата выпущен по ГОСТ 2001, может быть, это причина ошибки? А как тогда быть, ведь головной сертификат один на все сертификаты?
У кого получилось загрузить сертификаты по ГОСТ 2012, поделитесь опытом плиз!
Сертификат связан с модулем криптографии «Infotecs Cryptographic Service Provider» с типом 2
У данной ошибки имеется два сценария воспроизведения:
1. При подписании электронных документов.
При возникновении ошибки «Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего. Сертификат связан с модулем криптографии «Infotecs Cryptographic Service Provider» с типом 2.» необходимо выполнить проверку сертификата электронной подписи.
— На вкладке «Сертификаты» открыть используемый сертификат.
— Убедиться, что в поле программа установлено значение «ViPNet CSP (ГОСТ 2012)«.
— Нажать на кнопку «Проверить«.
— Ввести пароль закрытой части ключа и нажать «Проверить«.
Если в технической информации об ошибке указано «Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего. Сертификат связан с модулем криптографии «Infotecs Cryptographic Service Provider» с типом 2.», необходимо повторно связать сертификат с контейнером. Как связать сертификат с контейнером указано ниже.
2. При добавлении нового сертификата в настройки электронной подписи и шифрования.
В открывшемся окне необходимо выбрать актуальный сертификат и нажать «Далее
В следующем окне необходимо ввести пароль и нажать «Добавить».
Далее возможно возникновение ошибки «Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего. Сертификат связан с модулем криптографии «Infotecs Cryptographic Service Provider» с типом 2.»
В случае её возникновения в предыдущем окне добавления сертификата необходимо нажать на кнопку «Показать данные сертификата, которые сохраняются в файле». Данная кнопка визуализирована в виде иконки сертификата.
Для устранения ошибки «Сертификат, связанный с закрытым ключом, указывает на модуль криптографии, отличный от текущего. Сертификат связан с модулем криптографии «Infotecs Cryptographic Service Provider» с типом 2.» необходимо связать сертификат с закрытым ключом.
В мастере установки сертификатов нажать «Далее»
Контейнер с закрытым ключом определится автоматический. В том случае, когда контейнер не определился необходимо нажать «Обзор» и выбрать контейнер вручную, а затем нажать «ОК» и завершить установку.
После установки связи между сертификатом и закрытой частью ключа ошибка исправится.
Исправление ошибки отсутствия в контейнере закрытого ключа сертификата ЭП
Я уже разобрался в том что сертификат должен иметь ссылку на закрытый ключ! Но получить сертификат с закрытым ключем на вашем сайте не возможно! Использование стороннего (перчисляемого вами ПО) невозможно, по налагаемым на систему требованиям! Как мне ассоциировать имеющийся ключ и сертификат?
Александр, я могу конечно ошибаться (что маловероятно), но закрытый ключ формируется на клиентской стороне (т.е. у вас на компьютере), а на серверной лишь происходит подпись, пересылаемого туда, открытого ключа с дополнительной информацией.
при создании запроса на машине клиента делается закрытый ключ. Готовый сертификат ставится в хранилище «Личные» с привязкой к ключу (при нажатии на ссылку на следующей странице).
Василий, Вы наверное решили писать на тему «как отвадить», ПОВТОРЯЮ! ВАШ САЙТ НЕ ВЫДАЕТ СЕРТИФИКАТОВ С ЗАКРЫТЫМ КЛЮЧОМ.
Вот как-то так я делал это: //————————————————————————— // получим дескриптор провайдера (и секретного ключа) для подписи
//HCRYPTPROV hProv; DWORD dwKeySpec; BOOL fCallerFreeProv;
pCertContext = GetCertContext( asGUID );
err = CryptFindCertificateKeyProvInfo( pCertContext, 0, NULL);
provInfo.dwFlags = 0; provInfo.cProvParam = 0; provInfo.rgProvParam = 0; provInfo.dwKeySpec = AT_SIGNATURE;
Иван, а номер аськи Ваш можно? Или почтовый адрес. Мне требуется подписать данные, я делаю так: (прошу прощения, мне приходится переводить один язык программирования в VBA (как более близкий), может ошибусь в чем то) Dim CertStore as Capicom.Store Dim SertForSign as Capicom.Certificate Dim DataForSign as Capicom.SignedData Dim Signer as Capicom.Signer
CertStore = New Capicom.Store CertStore.Open SertForSign = CertStore.Certificates(1)
DataForSign = New Capicom.SignedData Signer = New Capicom.Signer
Data = Что то что подписываем Signer.Certificate = SertForSign DataForSign.Content = Data
SignedData = DataForSign.Sign(Signer,False,0)
Василий, я никогда не делаю голословных утверждений! Вот вам ответы на ваши вопросы: 1) Windows XP, sp2, RAM 1Гб, НДД 150 Гб 2) IE 7 (7.0.5730.11) 3) 3.0, КС1 3.0.3300.2 4) Что заполняю: — Имя — email — Организация — Подразделение — Город — Страна
Александр, у вас нечто высокоуровневое описано.
Я создавал свою программу в отрыве от хранилищ сертификатов и т.п. Я использую свою внутреннюю базу сертификатов, запросы на которые и сами сертификаты получаются по другим каналам, нежели Web. Поэтому у меня возникла необходимость привязывать сертификат к закр. ключу. Для этого необходимо всего лишь знать точное имя крипто-контейнера и выполнить часть кода, описанную выше.
// szOID_OIWSEC_sha1RSASign // szOID_OIWSEC_sha1 // szOID_OIWSEC_sha // if( iSignMode == 0 ) SigParams.HashAlgorithm.pszObjId = szOID_CP_GOST_R3411_R3410; if( iSignMode == 1 ) SigParams.HashAlgorithm.pszObjId = szOID_OIWSEC_sha1RSASign;
SigParams.HashAlgorithm.Parameters.cbData = NULL; SigParams.cMsgCert = 0; SigParams.rgpMsgCert = NULL; SigParams.cAuthAttr = 0; SigParams.dwInnerContentType = 0; SigParams.cMsgCrl = 0; SigParams.cUnauthAttr = 0; SigParams.dwFlags = 0; SigParams.pvHashAuxInfo = NULL; SigParams.rgAuthAttr = NULL;
//——————————————————————— // With two calls to CryptSignMessage, sign the message. // First, get the size of the output signed BLOB.
Я генерировал неоднократно сертификаты через сервер КриптоПро. Последние даже через Windows Mobile для установки SSL/TLS соединений с двойной аутентификацией.
Иван, да сертификат именно тот, строку: CertForSign = Store.Certificates.Item(1) Привел, как показатель того, как идет обращение к сертификату. Естественно подписывающий сертификат не первый и не единственный в системе. В системе зарегистрированы сертификаты: МелкоСофта (провайдер мелкософт) Работает, КриптоПро (провайдер мелкософт) Работает, КриптоПро (Провайдер крипто про) НЕ РАБОТАЕТ, КриптоПро (Провайдер крипто про) НЕ РАБОТАЕТ
А каким образом тогда Вам удалось получить и установить гостовый сертификат если через сайт КриптоПро Вам это не удается?
Александр, тут в обсуждении про типы CSP я увидел, что тип Крипто Ком. Это значит, что он установлен на этой машине? Или нет? Можно уточнить, какие вообще CSP установлены? Если не затруднит, скиньте содержимое разделов: HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyDefaultsProvider Types HKEY_LOCAL_MACHINESOFTWAREMicrosoftCryptographyDefaultsProvider
Вы можете удалить Крипто Ком и посмотреть, как без него?
Неудачных запросов с таким названием организации нет.
Пошаговая инструкция установки ЭЦП в КриптоПро
А если закрытый ключ содержится в виде файлов?
Закрытый ключ может быть в виде шести файлов: header.key, masks.key, masks2.key, name.key, primary.key, primary2.key
И если эти файлы находятся в корневой папке (то есть, записаны непосредственно на жёсткий диск), то КриптоПро CSP их не «увидит». Соответственно, все действия нужно производить только после того, как каждый файл перенесён на флешку. Причём находиться он должен в папке первого уровня.
После выбора контейнера откроется окно Сертификаты в контейнере закрытого ключа. С помощью кнопки Установить начните установку сертификата.
Если автоматическая установка сертификата не удалась, может потребоваться ручная установка. О том, как её осуществить, читайте нашей пошаговой инструкции.
Копирование закрытого ключа через оснастку КриптоПро
Для того, чтобы скопировать контейнер для хранения закрытого ключа сертификата штатным средством, необходимо в Панели управления открыть оснастку CryptoPro, перейти в раздел Сервис и нажать Скопировать.
Далее вы выбираете текущий контейнер, который хотите скопировать. Это может быть либо токен, либо реестр компьютера. Затем новое имя и новое расположение контейнера. Опять же, это может быть как реестр, так и другой токен.
Пошаговая инструкция установки личного сертификата
Чтобы установить личный сертификат, не записанный на ключевой носитель, нужно:
- Запустить программу КриптоПро: «Пуск»/«Настройка»/«Панель управления»/«КриптоПро CSP».
- Перейти через раздел «Сервис» во вкладку «Установить личный сертификат».
- Нажать «Далее».
- Указать путь к закрытому ключу электронной цифровой подписи через кнопку «Обзор». Пользователь в открывшейся папке выбирает файл, заканчивающийся расширением .cer.
- После этого пользователю предстоит нажать «Открыть».
- В поле «Имя файла» должен появиться путь доступа к ключу ЭЦП, после чего для продолжения установки нажимают кнопку «Далее».
- В новом окне появляется сервисное сообщение КриптоПро CSP с данными владельца подписи и нового сертификата. Информацию нужно проверить и нажать «Далее».
Следующий шаг — это выбор ключевого контейнера. Пользователь должен:
- Нажать «Далее» после того, как в графе «Имя ключевого контейнера» появится название контейнера.
- При необходимости ввести пин-код ключевого носителя.
Затем нужно выбрать хранилище. Делает это так:
Если выйдет сообщение о том, что сертификат уже есть в хранилище, нужно нажать «Да».
Остается лишь перезагрузить компьютер и попробовать подписать документ. Если ошибка будет повторяться, то необходимо обратиться в сервисный центр для незапланированной замены носителя электронной подписи и закрытого ключа ЭЦП. Проблема может крыться в неисправности токена.
Установка в КриптоПРО версии 3. 62 R2
Установка личного сертификата в КриптоПро версии 3.62 R2 и выше происходит иначе. В окне программы следует выбрать пункт «Установить» и подтвердить замену (если требуется). Если запроса на замену не вышло, нужно открыть вкладку «Сертификат для просмотра» и выбрать «Свойства».
В новом окне выбрать пункт «Установить».
После этого запустится «Мастер установки», в котором нужно нажать кнопку «Далее». После этого следует выбрать пункт «Поместить все сертификаты в хранилище». Для выбора хранилища нужно нажать «Обзор».
Для дальнейшей установки нужно выбрать «Личное хранилище».
В новом окне пользователю предстоит последовательно нажать «Далее» и «Готово». Через несколько секунд появится сообщение об успешной замене (установке) сертификата.
Ошибка отсутствия ключа электронной цифровой подписи в контейнера возникает обычно из-за отсутствия соответствующего сертификата. Решить проблему просто: установить личный сертификат и перезагрузить ПК. Способ установки зависит от версии используемого программного обеспечения КриптоПро и занимает всего несколько минут. Если после замены или установки открытого ключа проблема не исчезла, лучше обратиться в сервисный центр для перевыпуска электронной подписи.