diff --git a/Api5704/Config.cs b/Api5704/Config.cs index f6ef6fe..a1ae925 100644 --- a/Api5704/Config.cs +++ b/Api5704/Config.cs @@ -19,26 +19,116 @@ limitations under the License. namespace Api5704; +/// +/// Файл настроек Api5704.config.json +/// public class Config { + /// + /// Отпечаток сертификата клиента, зарегистрированного на сервере в ЛК и + /// имеющего допуск к серверу. + /// public string MyThumbprint { get; set; } = "8510d4c1d565f9d071f137cc145e166b3aa71cd9"; + + /// + /// Показывать дамп сертификата клиента при подключении. + /// public bool VerboseClient { get; set; } = true; + + /// + /// Адрес базового URL API тестовой системы: + /// https://reports.demo.nbki.ru/qbch/ + /// Адрес базового URL API тестовой системы, планируемой к выпуску: + /// https://reports.test-alfa.nbki.ru/qbch/ + /// Адрес базового URL API промышленной системы: + /// https://ssp.nbki.ru/qbch/ + /// public string ServerAddress { get; set; } = "https://ssp.nbki.ru/qbch/"; + + /// + /// Отпечаток сертификата сервера ServerAddress + /// (имеет смысл при включении ValidateThumbprint). + /// public string? ServerThumbprint { get; set; } = "18042E6D06AE9F05B639DF511A8583FEDE72784D"; + + /// + /// Проверять валидность сертификатов для подключения. + /// public bool ValidateTls { get; set; } = true; + + /// + /// Проверять отпечаток сервера + /// (имеет смысл при указанном ServerThumbprint). + /// public bool ValidateThumbprint { get; set; } = true; + + /// + /// Показывать дамп сертификата сервера при подключении. + /// public bool VerboseServer { get; set; } = true; + + /// + /// Использовать прокси для подключения. + /// public bool UseProxy { get; set; } = false; + + /// + /// Адрес и порт сервера прокси + /// (имеет смысл при включении UseProxy). + /// public string? ProxyAddress { get; set; } = "http://192.168.2.1:3128"; + + /// + /// Подписывать файлы при отправке или же они уже подписаны + /// (требует установленного КриптоПро). + /// public bool SignFile { get; set; } = true; + + /// + /// Извлекать полученные файлы из контейнера с подписью КриптоПро + /// (не требует установленного КриптоПро). + /// public bool CleanSign { get; set; } = true; + + /// + /// Число попыток повтора при получении сведений. + /// public int MaxRetries { get; set; } = 10; + + /// + /// Папка и маска исходных файлов для пакетной отправки запросов. + /// Ее наличие при отсутствии параметров запускает пакетный режим. + /// Файлы из нее удаляются при получении соответствующих им файлов + /// со сведениями. + /// public string DirSource { get; set; } = @"OUT\*.xml"; + + /// + /// Архивная папка и шаблон имени для файлов отправленных запросов. + /// public string DirRequests { get; set; } = @"Requests\{name}.{date}.{guid}.request.xml"; + + /// + /// Архивная папка и шаблон имени для полученных файлов квитанций + /// на отправленные запросы. + /// public string DirResults { get; set; } = @"Results\{name}.{date}.{guid}.result.xml"; + + /// + /// Архивная папка и шаблон имени для полученных файлов сведений + /// на отправленные запросы. + /// public string DirAnswers { get; set; } = @"Answers\{name}.{date}.{guid}.answer.xml"; + + /// + /// Путь к утилите командной строки КриптоПро. + /// public string CspTest { get; set; } = @"C:\Program Files\Crypto Pro\CSP\csptest.exe"; + + /// + /// Командная строка подписывания файла для утилиты КриптоПро. + /// public string CspTestSignFile { get; set; } = "-sfsign -sign -in %1 -out %2 -my %3 -add -addsigtime"; }