Что такое Цифровая Сигнатура?
Для чего это нужно?
Предварительно обсудим, что же это такое - "Хранилище Сертификата" ?
Что необходимо для использования различных типов Хранилищ?
Какое Хранилище и способ доступа мне использовать?
Выше упоминались типы Сертификатов. Что это?
В каких именно операциях используются Сертификаты?
Контрольный (тестовый) пример
Что делать, если Тестовый пример дает ошибки?
 
 
Уважаемые Клиенты.
	В начиная с 12.11.2007 в Сиситеме "EximBank-Online" планируется
 переход на обязательную поддержку так называемых цифровых сигнатур для любых расходных
 документов, исполняемых в Системе. Поэтому просим Вас обязательно ознакомится с нижеизложенным.

Что такое Цифровая Сигнатура?
	Цифровая Сигнатура (далее Сигнатура) - это шифрованная последовательность
 данных, находящаяся в однозначном соответствие с зашифрованными данными. Шифрование
 производится на Закрытом ключе Вашего Сертификата, расшифровка производится, 
 соответственно, Открытым ключом Вашего Сертификата. Таким образом, получить Сигнатуру
 возможно лишь получив доступ к Закрытому ключу Вашего Сертификата. Современные
 вычислительные средства не позволяют в разумное время подделать Сигнатуру (естественно
 при отсутствие Закрытого ключа, на котором составлялась оригинальная Сигнатура).

Для чего это нужно?
	Современные требования в области защиты информации требуют не только идентификации
 источника данных (т.е. в случае Системы - это лица подписавшие документ), но и
 сохранения целостности документа на протяжение всего срока его существования или
 актуальности. Целостность документа - это гарантированная сохранность содержимого
 документа в том виде, в котором его ввели в Систему. Подобный подход гарантирует,
 что даже лица - сотрудники Банка, имеющие в силу служебных обязанностей доступ
 к тем или иным документам, не смогут преднамеренно или по ошибке исказить содержимое
 доступного им документа. Точнее говоря, подобное искажение сразу же выявляется,
 и искаженный документ выводится из оборота.

Предварительно обсудим, что же это такое - "Хранилище Сертификата" ?
	Процесс получения Сертификата у поставщика этой услуги (например, www.thawte.com),
 как правило завершается установкой полученного Сертификата и соответствующих ему
 Закрытого и Открытого ключей на Ваш компьютер. Т.е. данные записываются в некоторые
 скрытые файлы Вашего диска. Назовем эти файлы СТАНДАРТНЫМ Хранилищем.
	С помощью средств, встроенных в ОС или Обозреватель Вашего компьютера, Вы можете
 извлечь данные Ваших Сертификатов и разместить их в виде файлов на некоторые носители
 (например, на дискету, на флэш-носитель и т.п.). При этом доступ к файлу защищается
 известным только Вам паролем. Как правило, это делается для переноса Сертификатов на
 другой компьютер, или в целях изготовления резервных копий Сертификатов.
 Назовем такой файл на некотором носителе ВНЕШНИМ Хранилищем.
	Помимо перечисленных, Система предлагает еще один способ хранения Сетификатов.
 При этом способе Вы передаете файл Сертификата из некоторого Внешнего Хранилища	  
 Серверу системы для хранения этого файла в некоторых базах данных Системы.
 Назовем такой способ хранения Сертификатов Хранилищем Сервера или ДЕПОЗИТАРИЕМ.
	Обсудим плюсы и минусы каждого из видов Хранилища.
 	Очевидно, что Стандартное Хранилище - наиболее простой способ хранения Сертификатов.
 Кроме того, только Стандартное Хранилище обеспечивает возможность проведения двусторонних
 SSL-сессий между Вашим Обозревателем и Сервером Системы. Однако, очевидно и то, что
 Стандартное Хранилище требует от Вас определенных организационно-технических мер
 по ограничению доступа к компьютеру - носителю Сертификата. 
 	Внешнее Хранилище - наиболее защищенный способ хранения Сертификатов. Вы
 можете хранить носитель Сертификатов (дискету, флэш) в физически защищенном месте
 или просто носить в кармане. Единственным недостатком является возможная ненадежность
 носителя или возможная утеря носителя (что легко компенсируется предварительным
 дублированием носителей).
        Депозитарий - лишен недостатков и Стандартного и Внешнего Хранилища. Однако
 он имеет ограничения - не более 4-х Сертификатов на Клиента и не более 1-го Сертификата
 каждого типа (о типах Сертификатов - ниже). Еще одним недостатком может показаться
 доступность к Сертификату со стороны Системы. Однако, в действительности Система получает
 доступ к Сертификату только по Вашему прямому указанию. Более того, Системе неизвестно,
 чьи именно Сертификаты хранятся в Депозитарие. Такой подход реализуется с помощью
 следующего: когда Вы отдаете Сертификат на хранение в Депозитарий, Система составляет
 так называемый хэш, основанный на имени Вашего файла, на пароле доступа к нему
 и на Login (имя Клиента в Системе). Хэш (или Хэш-функция) - это криптографическое
 преобразование исходных данных в другие данные. Первой основной особенностью хэш-преобразования
 является однозначное соответствие исходных данных и хэша (одинаковые данные всегда
 будут иметь одинаковое значение хэш-функции, у разных данных никогда не совпадет значение
 хэш-функций). Вторая основная особенность (что очень важно) - это полная невозможность
 восстановить по значению хэш-функции исходные данные.
 Хэш-функция выше указанных данных (имя файла, пароль, Login) и является ключом
 доступа к вашему Сертификату в Депозитарие. Иначе говоря, пока Вы правильно не 
 укажете имя файла и пароль, Система не сможет найти Ваш Сертификат, т.к. сами
 имя файла и пароль нигде в Системе не хранятся.

Что необходимо для использования различных типов Хранилищ?
	Поскольку контейнер Закрытого ключа является ЛОКАЛЬНЫМ ресурсом Вашего
 компьютера, то стандартные меры защиты Вашего обозревателя и операционной
 системы (ОС), как правило, не допускают непосредственного доступа к контейнеру со
 стороны программ (скриптов), содержащихся в загружаемых из Интернета страницах.
 Поэтому мы использовали технологию ActiveX от Microsoft для доступа к Вашим 
 Сертификатам (и их закрытым ключам). ActiveX - это программы, построенные по специальным
 технологиям, разработанным Microsoft, загружаемые(для Системы "EximBank-Online") частично
 с сайта Microsoft, частично - с сайта Системы (client.eximbank.com) и выполняющие
 функции по доступу к необходимым данным. Большим плюсом этого подхода является то,
 что вся работа с Вашим Сертификатом ведется на Вашем же компьютере, а в Интернет
 передаются уже готовые несекретные данные.
	Однако большим минусом является то, что Ваши Обозреватель(Браузер) и ОС
 должны "уметь" работать с языком VBScript  и элементами ActiveX. На сегодняшний
 день этим требованиям в полной мере удовлетворяет только MS Internet Explorer
 (от версии 6 SP1) и ОС Windows (Win 2000 и выше).
        Кроме того, Сигнатура - достаточно объемный поток данных (примерно 4Кб на
 документ). Следовательно, Ваша аппаратура и каналы связи должны выдерживать эту
 возросшую нагрузку.
 	Поэтому в Системе реализованы два способа доступа к Вашим Сертификатам:
 Локальный и Удаленный. Локальный доступ предполагает открытие Вашего Сертификата
 и изготовление Сигнатур непосредственно на Вашем компьютере с дальнейшей передачей уже
 готовых Сигнатур Серверу. Соответственно Ваша ОС и Обозреватель должны удовлетворять
 вышеуказанным требованиям. 
	 Удаленный доступ предполагает изготовление Сигнатур программным обеспечением
 Сервера. Рассмотрим применимость каждого из способов доступа к каждому
 типу Хранилища и сопутствующие требования к ОС и Обозревателю.
 	СТАНДАРТНОЕ Хранилище.Допускает только Локальный доступ.
	ВНЕШНЕЕ Хранилище. Допускает как Локальный, так и Удаленный доступ.
 При этом, выбрать Локальный доступ Вы можете только если ОС и Обозреватель удовлетворяют
 вышеуказанным требованиям. При Удаленном доступе к Внешнему Хранилищу происходит
 физическая передача файла-носителя Сертификата Серверу. Сервер извлекает из
 переданного файла Закрытый ключ, уничножает полученный файл и затирает пароль к нему.
 Ваш Сертификат продолжает сушествовать лишь в области оперативной памяти программы,
 и соответсвенно затирается при завершение программы (или той ее части, где требовался
 Ваш Сертификат). Таким образом, абсолютно неважно, в какой ОС и Обозревателе Вы
 в данный момент работаете. Ваш Обозреватель должен лишь поддерживать метод UpLoad
 (т.е. должен уметь передавать файлы на Сервер).
	ДЕПОЗИТАРИЙ. Допускает только Удаленный доступ. Физическая передача файла-носителя
 Сертификата производится только один раз - при сохранение Сертификата в Депозитарие.  

Какое Хранилище и способ доступа мне использовать?
 Это Вам решать. Взависимости от выполнения требований к ОС, Обозревателю, мероприятиям
 по защие Вашего компьютера, от степени доверия к Банку и собственному персоналу, и даже
 от Вашего местонахождения. Вы можете выбрать любую из моделей или пользоваться разными
 моделями одновременно.
 В любом случае мы гарантируем полную конфиденциальность Ваших данных.
   
Выше упоминались типы Сертификатов. Что это?
 Типы Сертификатов - это распределение Сертификатов по должностям фирмы-Клиента.
 	В действующей версии Системы есть три типа:
 - Бухгалтер 
 - Руководитель
 - Другое лицо с Обязательной подписью
 При этом поддержки иерархии не существует.
	В новой версии становится четыре типа, каждому из которых соответствует
 свой уровень иерархии. Итак, по возрастанию уровней иерархии(в скобках): 
 - Исполнитель(0)
 - Бухгалтер(1)
 - Руководитель(2)
 - Куратор(3).
 	В старой версии Системы при вводе расходных документов исполнитель мог не иметь Сертификата.
 В новой версии Исполнитель (т.е. лицо, создающее документ) Сертификат иметь обязанно.
 Это обусловленно тем, что именно на Сертификате Исполнителя составляется Сигнатура
 документа. Иначе говоря, Сигнатура составляется в момент рождения документа.
 Рассмотрим роль, полномочия и правила регистрации каждого типа.

	-Исполнитель. О роли уже сказано. Полномочия - только ввод документов (не имеет права подписи) 
 Регистрация производится Руководителем и Бухгалтером (обязательно вдвоем).
 Приложения N2 не требует.     

        -Бухгалтер. Может заменять Исполнителя. Может ставить подпись Бухгалтера.
 Может утверждать (совместно с Руководителем) и отменять (единолично) Сертификат любого Исполнителя
 Приложение N2 для регистрации - обязательно.   

        -Руководитель. Может заменять Исполнителя. Может ставить подпись Руководителя.
 Может утверждать (совместно с Бухгалтером) и отменять (единолично) Сертификат любого Исполнителя. 
 Может отменять (единолично) Сертификат любого Бухгалтера.
 Приложение N2 для регистрации - обязательно.   
 	 
 	-Куратор. Не может вводить документы (не заменяет Исполнителя). Обязан подписывать
 ВСЕ расходные документы (при этом не заменяет ни Бухгалтера, ни Руководителя). 
 Может отменить (единолично) Сертификат любого Бухгалтера или Руководителя.
 Приложение N2 для регистрации - обязательно.   

 Обращаем внимание на то, что после отмены Сертификатов Бухгалтера или Руководителя
 необходимо повторно принести Приложение N2 для восстановления действия Сертификати.

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

 Операции "Ввод платежных поручений"(внутрибанковские, межбанковские, казначейские) 
 требуют один из сертификатов типов Исполнитель, Бухгалтер, Руководитель.

 Операция "Список ПП"
 при подписание требует Сертификаты типов Бухгалтер и Руководитель.
 Кроме того, если у Клиента зарегистрирован(ы) Сертификат(ы) типа Куратор, то
 потребуются ВСЕ сертификаты этого типа.

 Операция  "Конверсия валют"         
 требует один из сертификатов типов Исполнитель, Бухгалтер, Руководитель.
  
 Операция "Список заявок на конверсию валют"
 при подписание требует Сертификаты типов Бухгалтер и Руководитель.
 Кроме того, если у Клиента зарегистрирован(ы) Сертификат(ы) типа Куратор, то
 потребуются ВСЕ сертификаты этого типа.

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

 Операция  "Пополнение Карточек"         
 требует один из сертификатов типов Исполнитель, Бухгалтер, Руководитель.
  
 Операция  "Список на пополнение Карточек"         
 при подписание требует Сертификаты типов Бухгалтер и Руководитель.
 Кроме того, если у Клиента зарегистрирован(ы) Сертификат(ы) типа Куратор, то
 потребуются ВСЕ сертификаты этого типа.
  



Данный пример проверяет возможность вашего Обозревателя работать с
CapiCom (Microsoft) и CapiComO (BC 'EximBank' SA) ActiveX

Обращайте внимание на левый нижний угол окна Вашего Обозревателя (Только для MS IE).
Если там появится желтый треугольник, то щелкните на нем и прочтите сообщение об ошибке.
Возможно Ваш компютер не может работать в Локальном режиме.
 
Выберите или введите имя файла-носителя Сертификата (*.pfx) (только для Внешнего Хранилища)
Укажите пароль доступа к Сертификату (только для Внешнего Хранилища)
И выберите Сертификат(из Стандартного или Внешнего Хранилища)
Введите данные, для которых Вы хотите создать Сигнатуру
Создайте Сигнатуру для введенных данных
Вот так выглядит Сигнатура
А это ее укороченный вариант
Повторите введенные ранее данные
И проверьте наличие искаженний в ранее введенных(подписанных) данных
Сообщение об ошибке "Invalid Signature" говорит о несовпадение подписанных и повторенных данных

 
 
 
Что делать, если Тестовый пример дает ошибки?
	Если ошибки возникают до сообщения "Выбор Сертификата прошел успешно",
то причиной ошибки, скорее всего, является то, что Ваш Обозреватель не загрузил
необходимые ActiveX или в настройках Обозревателя запрещено их использование.
Раскройте сообщение и, если там содержится нечто вроде "Object expected", "Object required",
"Object not found", то дело именно так и обстоит.

Проверьте версию Обозревателя (Help, О программе) - она должна быть не ниже 6 SP1.
Проверьте версию Windows - она должна быть не ниже Windows 2000

Установите корневой Сертификат Сервера Системы (именно на нем подписаны 
CapiСomO.Ocx и CapiComo.Cab).

Корневой Сертификат Сервера Системы "EximBank-Online"

Дайте команду Открыть (Open). В левой стороне открывшегося окна Certificates
щелкните на ссылки DOCUMENTS AND SETTINGS, Certificates. С правой стороны появится
строчка с импортированным сертификатом. Дважды щелкните по ней. Появится окно,
показывающее данные сертификата. Нажмите кнопку Install Certificate.
Далее нажимайте Next и Finish без всяких изменений.


Для настройки обозревателя:

Зайдите в Сервис - Свойства Обозревателя (Tools - Internet Options).
Нажмите закладку Безопасность (Security)
Выберите пиктограму Надежные Узлы (Trusted Sites)
Нажмите кнопку Узлы (Sites)
Наберите в верхней строке http://client.eximbank.com
Сбросьте признак необходимости https
Нажмите кнопки Добавить (Add) и Ok
Оставаясь на Надежных Узлах, нажмите кнопку Другой (Custom Level)
Пройдите по всем пунктам Элементы ActiveX и модули подключения (ActiveX and plug-ins)
Установите уровень Разрешить (Enable) (за исключением пунктов Загружать неподписанные ActiveX
(Download unsigned ActiveX controls)  и Исполнять ActiveX не помеченные как безопасные (Load ActiveX
not marked as safe)- они должен остаться Предупреждать (Prompt) )
Обновите текущую страницу. Если появится запрос о загрузке ActiveX CapicomO....
от неизвестного издателя (Uncnown Publisher) - разрешите загрузку.
Попробуйте выполнить пример еще раз.

Если ошибки продолжаются, то скорее всего, ActiveX не загрузились на Ваш компьютер.
Это может быть следствием того, что Ваш корпоративный файервол (firewall)  не допускает
их загрузки. Проконсультируйтесь у администратора Вашей локальной сети.

Технические детали: должны загрузиться и развернуться два файла CapiCom.Cab  и CapiComO.Cab.
Первый содержит CapiCom.Dll, реализован и подписан компанией Microsoft.
Второй содержит CapiComO.Ocx, реализован и подписан BC EXIMBANK SA.

В качестве альтернативы, Вы можете загрузить следующий zip-архив

Сохраните, распакуйте и запустите reg.bat

До запуска reg.bat Вам надо переписать все разархивированные файлы в папку (директорий)
WINDOWS/System/ для Win98 или  в папку WINDOWS/System32/ для Win200 и старше.

ВНИМАНИЕ!
Если какие-то из переписываемых файлов уже есть в указанных папках, то ни в коем
случае не перекрывайте их новыми (только что полученными) файлами.
В результате исполнения необходимые ActiveX будут зарегистрированы на вашем компьютере.

Еще одной причиной может быть то, что на Вашем компьютере нет корневого Сертификата
Сервера Системы (именно на нем подписаны CapiСomO.Ocx и CapiComo.Cab).

Корневой Сертификат Сервера Системы "EximBank-Online"

Дайте команду Открыть (Open). В левой стороне открывшегося окна Certificates
щелкните на ссылки DOCUMENTS AND SETTINGS, Certificates. С правой стороны появится
строчка с импортированным сертификатом. Дважды щелкните по ней. Появится окно,
показывающее данные сертификата. Нажмите кнопку Install Certificate.
Далее нажимайте Next и Finish без всяких изменений.