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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline podegov  
#1 Оставлено : 25 октября 2019 г. 17:39:53(UTC)
podegov

Статус: Участник

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

Приветствую.
Ситуация: есть сервер, на котором установлена УКЭП, на котором стоит CSP 5 и утилита crypcp. Запуская из командной строки, команда вида
Код:
cryptcp.x64.exe -sign -dn "E=<email>" -xlongtype1 -cadesTSA  http://tax4.tensor.ru/tsp/tsp.srf  <infile> <outfile> 
выполняется корректно и формируется файл с результатом.
При выполнении этой же команды из-под веб-приложения asp.net получаем ошибку "Can not get certificate private key", при этом сертификат сам найден, проверка цепочек проходит. Веб-приложение запускается под тем же пользователем, под которым запускаем команду в командной строке.
При этом, на другом сервере с тестовой подписью от КриптоПро всё работает без ошибок. Отличие только в том, что сертификат на том сервере, где возникает ошибка, состоит из нескольких .key файлов, а тестовый сертификат из одного .cer.
С чем это связано и как решить эту проблему?
Offline two_oceans  
#2 Оставлено : 28 октября 2019 г. 6:12:21(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 396 раз в 366 постах
Автор: podegov Перейти к цитате
Отличие только в том, что сертификат на том сервере, где возникает ошибка, состоит из нескольких .key файлов, а тестовый сертификат из одного .cer.
С чем это связано и как решить эту проблему?
Добрый день.
Похоже Вы немного путаетесь в терминологии - 6 файлов .key в папке xxxxxxxx.000 - это как раз и есть контейнер закрытого ключа, который вроде как не находится. В контейнере может быть, а может и не быть сертификат (.cer или .crt) внутри файла header.key среди прочей служебной информации. В данном случае Вы указываете е-мэйл для поиска. Если сертификат находится по е-мэйл, то он установлен в хранилище сертификатов. При этом, при установке сертификата вероятно не прописана связь сертификата в хранилище и контейнера. Это можно определить визуально (открываете Пуск - все программы - криптопро - сертификаты пользователя и в хранилище личные видите сертификат, открываете сертификат на просмотр, должна быть надпись внизу белого поля "Есть закрытый ключ для этого сертификата"). В случае когда надписи нет - связь не прописана и утилита не сможет по сертификату найти контейнер и закрытый ключ.

В этом случае нужно переустановить сертификат через панель управления КриптоПро вкладка "сервис" кнопка "посмотреть сертификаты в контейнере", по ходу мастера будет кнопка "установить", согласитесь на замену связи. Если этот способ не подошел (например, в контейнере нет сертификата) - нужно сертификат из хранилища сохранить в файл и попробовать на вкладке "сервис" кнопку "установить личный сертификат". Обратите внимание, что если сертификат гост-2012, то версия криптопро должна быть 4.0 или 5.0 (версия 3.6/3.9 не сможет установить связь).

Отредактировано пользователем 28 октября 2019 г. 6:17:18(UTC)  | Причина: Не указана

Offline podegov  
#3 Оставлено : 30 октября 2019 г. 13:58:22(UTC)
podegov

Статус: Участник

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

Добрый день.
Проверили - надпись есть. На всякий случай попробовали экспортировать сертификат из хранилища с закрытым ключом и заново установить по вашей инструкции, но результата это не дало.
Я предполагаю, что всё установлено корректно, т.к. подписывание через командную строку работает, а проблема в доступе из-под веб-сервиса. То есть по какой-то причине веб приложение, запущенное из-под того же пользователя, что и командная строка, не может найти закрытый ключ.
Может быть для доступа к закрытому ключу какие-то особые права нужны или доступ к определенной папке?
Offline Александр Лавник  
#4 Оставлено : 30 октября 2019 г. 17:25:56(UTC)
Александр Лавник

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

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

Сказал «Спасибо»: 53 раз
Поблагодарили: 802 раз в 741 постах
Автор: podegov Перейти к цитате
Добрый день.
Проверили - надпись есть. На всякий случай попробовали экспортировать сертификат из хранилища с закрытым ключом и заново установить по вашей инструкции, но результата это не дало.
Я предполагаю, что всё установлено корректно, т.к. подписывание через командную строку работает, а проблема в доступе из-под веб-сервиса. То есть по какой-то причине веб приложение, запущенное из-под того же пользователя, что и командная строка, не может найти закрытый ключ.
Может быть для доступа к закрытому ключу какие-то особые права нужны или доступ к определенной папке?

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

Возможно, это решит Вашу проблему.
Техническую поддержку оказываем тут
Наша база знаний
Offline podegov  
#5 Оставлено : 1 ноября 2019 г. 19:37:57(UTC)
podegov

Статус: Участник

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

Цитата:
Возможно, это решит Вашу проблему.

К сожалению не решило, при попытке дать полный доступ появилась ошибка с недостатком прав (хотя под администратором делали).

Но в итоге получилось решить следующим образом: экспорт сертификата, установка через CSP в хранилище компьютера, в настройке пула IIS указали пользователя, а не дефолтное значение, там же Load user profile = false, а в скрипте добавили параметр -m, чтобы поиск выполнялся в хранилище компьютера.

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