26

Re: СКАД Сигнатура и ключи.

Добрый день. Нет, варианта инициализации с указанием пароля закрытого ключа нет.

27 (2017-12-26 17:51:55 отредактировано ruslang)

Re: СКАД Сигнатура и ключи.

alart пишет:

Добрый день. Нет, варианта инициализации с указанием пароля закрытого ключа нет.

То есть, я правильно понимаю, что инициализировать с указанием пароля закрытого ключа никак нельзя? Даже первым способом:

public bool Initialize(string pse, string localstore, string ldap, string pincode, InitializeFlags flags);

А как тогда быть с контейнерами закрытого ключа, на которых навешен пароль? Только требовать, чтобы его убрали? Но  ведь это уязвимость, в некоторой степени.

28

Re: СКАД Сигнатура и ключи.

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

public bool Initialize(string pse, string localstore, string ldap, string pincode, InitializeFlags flags);

string pincode - ПИН-код ключевого носителя типа смарт-карта.

29

Re: СКАД Сигнатура и ключи.

alart пишет:

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

public bool Initialize(string pse, string localstore, string ldap, string pincode, InitializeFlags flags);

string pincode - ПИН-код ключевого носителя типа смарт-карта.

Диалоговое окно ввода пароля будет выведено при инициализации и через конструктор по умолчанию, и через конструктор принимающий имя профиля и флаг? Верно?

30

Re: СКАД Сигнатура и ключи.

ruslang пишет:

Диалоговое окно ввода пароля будет выведено при инициализации и через конструктор по умолчанию, и через конструктор принимающий имя профиля и флаг? Верно?

Да

31

Re: СКАД Сигнатура и ключи.

alart пишет:
ruslang пишет:

Диалоговое окно ввода пароля будет выведено при инициализации и через конструктор по умолчанию, и через конструктор принимающий имя профиля и флаг? Верно?

Да

Спасибо большое.

32

Re: СКАД Сигнатура и ключи.

Здравствуйте. Пользуемся для подписания документов УФЭБС СКЗИ  Сигнатура. Когда мы используем ключи на флэшке, подписание через 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);

33

Re: СКАД Сигнатура и ключи.

Добрый день!

Является ли eToken считывателем по умолчанию у пользователя, от имени которого запускается программа?
Появляются ли при загрузке ключа в справочнике сертификатов диалоговые окна?

34

Re: СКАД Сигнатура и ключи.

alart пишет:

Добрый день!

Является ли eToken считывателем по умолчанию у пользователя, от имени которого запускается программа?
Появляются ли при загрузке ключа в справочнике сертификатов диалоговые окна?

Да, eToken является считывателем по умолчанию у пользователя.

Да, появляются. Если вытащить eToken, то система просит вставить его. Когда вставляешь и система определяет ключ, появляется диалоговое окно об успешности.

35

Re: СКАД Сигнатура и ключи.

Скорее всего у запускаемой службы нет прав для работы со смарт-картами. Для работы со смарт-картами необходимо запускать службу от имени LocalSystem или LocalService.

36

Re: СКАД Сигнатура и ключи.

alart пишет:

Скорее всего у запускаемой службы нет прав для работы со смарт-картами. Для работы со смарт-картами необходимо запускать службу от имени LocalSystem или LocalService.

Вы какую конкретно службу имеете в виду?

37

Re: СКАД Сигнатура и ключи.

Службу, в которой вызывается VcertObject.Initialize

38

Re: СКАД Сигнатура и ключи.

У доменного пользователя - администратора на машине, где работает служба, вызывающая VcertObject.Initialize не может не быть таких прав. Кроме этого СКАД Сигнатура от имени этого пользователя прекрасно видит ключи, да и на соседнем стенде при таком же подходе проблем с е-токеном нет. Можно конечно же и по-вашему совету вызвать VcertObject.Initialize от Local System, но скажите как тогда вызвать от Local System СКАД Сигнатуру?
И сразу второй вопрос на соседнем стенде проблема с е-токенами следующая: если в компьютер вставлено два токена, ключи сигнатуры находятся только на одном и этот токен без пароля, то ошибка: Validata.PKI.VcertException: Ошибка проверки сертификата. Если второй токен не вставлен, то всё работает. Как организовать работу с двумя токенами?

39

Re: СКАД Сигнатура и ключи.

При использовании 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?

40

Re: СКАД Сигнатура и ключи.

Мы разрабатываем для банков WCF-приложение, которое предназначено для подписания защитным кодом и кодом аутентификации электронных документов для дальнейшей загрузки в АРМ КБР-Н. Вы правильно заметили - у нашего приложения нет возможности отображать окна. Однако, у АРМ КБР-Н такой интерфейс есть, и поэтому наши клиенты хотят иметь ключи для АРМ КБР-Н на носителе, который был бы защищен ключом. В СКЗИ есть возможность установить только один тип считывателя, поэтому предпринята организация такой схемы: ключ для нашей службы на е-токене без пароля, ключ для АРМа на защищенном е-токене. Такая схема у нас не работает. Исходя из вашего последнего ответа, правильно ли мы понимаем, что работа с двумя е-токенами не возможна? Какое решение в таком случае, может предложить ваша компания?

41

Re: СКАД Сигнатура и ключи.

Если у службы нет возможности отображать окна, тогда возможен следующий вариант:

  • служба должна работать от имени LocalSystem или LocalService;

  • инициализация криптографических контекстов должна выполняться один раз при запуске службы;

  • при запуске службы нужно, чтобы был вставлен только один токен с соответствующими ключами;

  • служба должна быть настроена так, чтобы она не завершала работу после определенного периода простоя и не перезапускалась через определенный интервал.

Тогда пользователь должен вставить токен с ключами службы, запустить службу, после чего токен с ключами службы можно извлечь.