Re: СКАД Сигнатура и ключи.
Добрый день. Нет, варианта инициализации с указанием пароля закрытого ключа нет.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Валидата → СКАД Сигнатура → СКАД Сигнатура и ключи.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день. Нет, варианта инициализации с указанием пароля закрытого ключа нет.
Добрый день. Нет, варианта инициализации с указанием пароля закрытого ключа нет.
То есть, я правильно понимаю, что инициализировать с указанием пароля закрытого ключа никак нельзя? Даже первым способом:
public bool Initialize(string pse, string localstore, string ldap, string pincode, InitializeFlags flags);
А как тогда быть с контейнерами закрытого ключа, на которых навешен пароль? Только требовать, чтобы его убрали? Но ведь это уязвимость, в некоторой степени.
Если у ключа есть пароль, то при инициализации будет выведено диалоговое окно ввода пароля.
В варианте инициализации
public bool Initialize(string pse, string localstore, string ldap, string pincode, InitializeFlags flags);
string pincode - ПИН-код ключевого носителя типа смарт-карта.
Если у ключа есть пароль, то при инициализации будет выведено диалоговое окно ввода пароля.
В варианте инициализацииpublic bool Initialize(string pse, string localstore, string ldap, string pincode, InitializeFlags flags);
string pincode - ПИН-код ключевого носителя типа смарт-карта.
Диалоговое окно ввода пароля будет выведено при инициализации и через конструктор по умолчанию, и через конструктор принимающий имя профиля и флаг? Верно?
Диалоговое окно ввода пароля будет выведено при инициализации и через конструктор по умолчанию, и через конструктор принимающий имя профиля и флаг? Верно?
Да
ruslang пишет:Диалоговое окно ввода пароля будет выведено при инициализации и через конструктор по умолчанию, и через конструктор принимающий имя профиля и флаг? Верно?
Да
Спасибо большое.
Здравствуйте. Пользуемся для подписания документов УФЭБС СКЗИ Сигнатура. Когда мы используем ключи на флэшке, подписание через sdk работает. Но когда мы в настройках сигнатуры переключаем на eToken и ключи уже на eToken(без пароля), то вылетает ошибка - Ошибка проверки сертификата. ErrorCode - 3765436468. Эта ошибка проявляется, даже если токен не вставлен. Но когда запускаем справочник сертификатов и он запрашивает для профиля ключи, то когда вставляем eToken в компьютер, система его определяет и позволяет работать с ним.
StackTrace - в Validata.PKI.VcertObject.Initialize(String profile, InitializeFlags flags)
в FinistSoft.GatewayTail.UfebsWorkingTaskRespondent.Common.SignHelper.Init(String profileNameSC, String profileNameAC) в C:\PersonalBank\RespondentsGateway\Iteration_1\Respondents\UfebsWorkingTaskRespondent\Common\SignHelper.cs:строка 36
_ctxSC = new VcertObject();
_ctxSC.Initialize(profileNameSC, VcertObject.InitializeFlags.UseRegistry);
_ctxAC = new VcertObject();
_ctxAC.Initialize(profileNameAC, VcertObject.InitializeFlags.UseRegistry);
Добрый день!
Является ли eToken считывателем по умолчанию у пользователя, от имени которого запускается программа?
Появляются ли при загрузке ключа в справочнике сертификатов диалоговые окна?
Добрый день!
Является ли eToken считывателем по умолчанию у пользователя, от имени которого запускается программа?
Появляются ли при загрузке ключа в справочнике сертификатов диалоговые окна?
Да, eToken является считывателем по умолчанию у пользователя.
Да, появляются. Если вытащить eToken, то система просит вставить его. Когда вставляешь и система определяет ключ, появляется диалоговое окно об успешности.
Скорее всего у запускаемой службы нет прав для работы со смарт-картами. Для работы со смарт-картами необходимо запускать службу от имени LocalSystem или LocalService.
Скорее всего у запускаемой службы нет прав для работы со смарт-картами. Для работы со смарт-картами необходимо запускать службу от имени LocalSystem или LocalService.
Вы какую конкретно службу имеете в виду?
Службу, в которой вызывается VcertObject.Initialize
У доменного пользователя - администратора на машине, где работает служба, вызывающая VcertObject.Initialize не может не быть таких прав. Кроме этого СКАД Сигнатура от имени этого пользователя прекрасно видит ключи, да и на соседнем стенде при таком же подходе проблем с е-токеном нет. Можно конечно же и по-вашему совету вызвать VcertObject.Initialize от Local System, но скажите как тогда вызвать от Local System СКАД Сигнатуру?
И сразу второй вопрос на соседнем стенде проблема с е-токенами следующая: если в компьютер вставлено два токена, ключи сигнатуры находятся только на одном и этот токен без пароля, то ошибка: Validata.PKI.VcertException: Ошибка проверки сертификата. Если второй токен не вставлен, то всё работает. Как организовать работу с двумя токенами?
При использовании API от имени LocalSystem необходимо использовать инициализацию с указанием путей к pse и gdbm.
VcertObject vcertCtx = new VcertObject();
vcertCtx.Initialize(@"pse://signed/C:\Base\local.pse", @"file://C:\Base\local.gdbm", null, VcertObject.InitializeFlags.NoFlag);
При инициализации VcertObject в службе, у которой нет возможности отображать окна, необходимо, чтобы был вставлен только один токен.
А какое приложение Вы разрабатываете, веб приложение под управлением IIS?
Мы разрабатываем для банков WCF-приложение, которое предназначено для подписания защитным кодом и кодом аутентификации электронных документов для дальнейшей загрузки в АРМ КБР-Н. Вы правильно заметили - у нашего приложения нет возможности отображать окна. Однако, у АРМ КБР-Н такой интерфейс есть, и поэтому наши клиенты хотят иметь ключи для АРМ КБР-Н на носителе, который был бы защищен ключом. В СКЗИ есть возможность установить только один тип считывателя, поэтому предпринята организация такой схемы: ключ для нашей службы на е-токене без пароля, ключ для АРМа на защищенном е-токене. Такая схема у нас не работает. Исходя из вашего последнего ответа, правильно ли мы понимаем, что работа с двумя е-токенами не возможна? Какое решение в таком случае, может предложить ваша компания?
Если у службы нет возможности отображать окна, тогда возможен следующий вариант:
служба должна работать от имени LocalSystem или LocalService;
инициализация криптографических контекстов должна выполняться один раз при запуске службы;
при запуске службы нужно, чтобы был вставлен только один токен с соответствующими ключами;
служба должна быть настроена так, чтобы она не завершала работу после определенного периода простоя и не перезапускалась через определенный интервал.
Тогда пользователь должен вставить токен с ключами службы, запустить службу, после чего токен с ключами службы можно извлечь.
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Валидата → СКАД Сигнатура → СКАД Сигнатура и ключи.
Форум работает на PunBB, при поддержке Informer Technologies, Inc