
ИНСТРУКЦИЯ

Инструкция по установке и использованию

1. УСТАНОВКА

1.1 Подключение к Pilot-Server

- Скопировать собранные файлы в папку откуда в последствии будет раотать служба. Например C:\Program Files\Ascon\Pilot.Xps.Service.
- Запустить консольную утилиту Pilot.Xps.Service exe с параметром '-h'. Изучите возможности программы.
- Установите соединение с Pilot-Server. Для этого 
	- Запустите Pilot.Xps.Service.exe с параметром '-c' или '--connect'. Например: Pilot.Xps.Service.exe --connect http://localhost:5545/base
	- Введите имя пользователя и пароль.
  После этого на экран выведется результат подключения к Pilot-Server.
- остановить программу можно нажав на любую клавишу.

1.2. Установка в качестве службы Windows.

После успешной настройки подключения к Pilot-Server программу Pilot.Xps.Service можно зарегистрировать в системе Windows как службу. 
Чтобы установить Pilot.Xps.Service в качестве Windows службы необходимо выполнить следующие действия:

- запустите командную строку от имени администратора
- выполните переход в папку с программой Pilot.Xps.Service с помощью команды 'cd'
- выполните команду Pilot.XpsService.exe с параметром '-i' или '--install'

Система зарегистрирует Pilot.Xps.Service в качестве службы.
После этого настройте автозапуск службы в оснастке работы со службами Windows.

Для того, чтобы удалить Pilot.Xps.Service из служб Windows выполните следующие действия:
- запустите командную строку от имени администратора
- выполните переход в папку с программой Pilot.Xps.Service с помощью команды 'cd'
- выполните команду Pilot.XpsService.exe с параметром '-u' или '--uninstall'

2. НАСТРОЙКА

В сервисе Pilot.Xps.Service предусмотрено несколько настроек. Все настройки хранятся в файле appsettings.json, расположенном рядом с запускаемым сервисом.

2.1. Блок подключения к Pilot-Server.
Блок настроек подключения к Pilot-Server выглядит следующим образом

"Connection": {
    "LicenseCode": 100,
    "Server": "http://localhost:5545/base",
    "UserName": "sedov",
    "Password": ""
}

где:
'LicenseCode' - код лицензии, под которой подключается сервис;
'Server' - адрес сервера 'Pilot-Server' с указание базы;
'UserName' - имя пользователя;
'Password' - пароль.

Внимание! Изменения адреса подключения, имени пользователя и пароля происходит с помощь вызова сервиса из командной строки с параметром -c.
См. пункт 1.1. Подключение к Pilot-Server.

2.2. Блок настроек хранения сертификатов пользователей.

Pilot.Xps.Service предоставляет API для удаленного подписания Xps документов. Для того, чтобы воспользоваться функцией подписания документов необходимо 
предварительно установить все сертификаты пользователей в систему. Для этого воспользуйтесь оснасткой работы с сертификатами Windows. Внимание! Сертификаты 
необходимо устанавливать в оснастку для локального компьютера. Для этого запустите mmc.exe и добавьте оснастку для работы с сертификатами для локального компьютера.
После установки сертификатов необходимо перезапустить сервис, если он запущен.
После установки всех цифровых сертификатов можно приступать к настройке сервиса.

Блок настроек храниения сертификатов пользователей выглядит следующим образом:

"Signing": {
    "StoreLocation": "CurrentUser",
    "CertificatesMap": {
        "sedov_vi@ggp.ru": "sedov@ggp.ru",
        "rogova_ef@ggp.ru": "rogova@ggp.ru"
    }
}

где:
'StoreLocation' - расположение хранилища сертификатов. Возможные варианты: 'CurrentUser', 'LocalMachine'
'CertificatesMap' - карта соответствия email сертификата и email пользователя. Карта необходима в случае не соответствия рабочей почты пользователя, 
                    указанной в настройка Pilot-myAdmin и почтой указанной в сертификате.

Если у всех пользователей email заданный в настройках Pilot-myAdmin соответствует email заданным в сертификатах, то карту необходимо оставить пустой.
В случае если у пользователя есть несоответствие, есть 2 пути решения. Изменить email в настройках Pilot-myAdmin так, чтобы он соответствовал email 
сертификата для этого пользователя. В случае если изменение email в настройках Pilot-myAdmin невозможно, то необходимо внести в карту соответствия 
'CertificatesMap' пользователя:

"CertificatesMap": {
    "sedov_vi@ggp.ru": "sedov@ggp.ru",
}
где:
'sedov_vi@ggp.ru' - email, указанный в настройках Pilot-myAdmin;
'sedov@ggp.ru' - email, указанный в сертификате пользователя.

