Запуск
java -jar -Dspring.cloud.config.enabled=false -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC ./signer-service-0.9.9-b51.jar
java -jar -XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=75 ./signer-service-2.0.0.jar
Частина імені застосування, яка відповідає за номер збірки, буде відрізнятися для різних збірок. В прикладі вище даа частина представлена значенням "b51".
Застосування підтримує всі можливості зовнішнього конфігурування. які надає Spring Boot (опис тут). Найбільш інтуїтивним є варіант, коли конфігурація знаходиться у папці застосування у файлі application.yaml (формат YAML) чи application.properties (Java configuration file).
Параметри конфігурації
Загальні
Назва параметра | YAML варіант | Опис |
---|---|---|
server.port=9092 | server: | Порт, через який здійснюється взаємодія з Сервером. |
spring.main.banner-mode=off | spring: main: banner-mode: "off" | Вимикається виведення текстового банера "Spring Boot" при старте застосування |
logging.file.enable=true | logging: file.enable: true | true - ввімкнути логування у файл За замовчуванням, якщо не вказано параметр та його значення, - true. |
logging.file=signer-server.log | logging: | Ім'я файлу для логування подій застосування. |
logging.path=/var/log/cix509/signer-server | logging: | Шлях до каталогу, де буде зберігатися поточний лог-файл та архів логів. |
logging.console.enable=true | logging: console.enable: true | true - ввімкнути логування в консоль (стандартне виведення) За замовчуванням, якщо не вказано параметр та його значення, - true. |
logging.pattern.console=%.-0m | logging: |
Вимикає виведення повідомлень логу в стандартне виведення (консоль). |
spring.cloud.config.enabled | spring: cloud: config: | Вимикає роботу з сервером віддаленого конфігурування. Значення параметра має бути обов'язкового встановлено в "false", якщо сервер буде працювати в standalone режимі без застосування сервера віддлаленого конфігурування на базі Spring Cloud Config Server. |
Параметри застосування
Назва параметра | YAML варіант | Опис | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sjwsa.workerThreadNumber=4 | sjwsa: | Число одночасних працюючих потоків для виконання криптографічних операцій. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.accessTokenUptime=3600 | sjwsa: | Час, впродовж якого діє дозвіл на виконання операції з ЕП. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.caConfigFile=ca1.properties | sjwsa: | Файл з параметрами підключення до серверів (TSA, OCSP, LDAP, CMP) ЦСК. Якщо назва файлу не має префіксу, то у залежності від значення, буде використовуватися відносний чи абсолютний шлях у файловій системі операційного середовища, в якому виконується Сервіс. Доступні вбудоавні файли з параметрами підключення до КНЕДП
| ||||||||||||||||||||||||||||||||||||||||
sjwsa.caCertificateChain=address1;address2 | sjwsa: | Адреса ресурсів (файлів) (через крапку з комою зі списком сертифікатів КНЕДП. Для локального файлу: file:///CACertificates.p7b | ||||||||||||||||||||||||||||||||||||||||
sjwsa.iitCaConfigUrl=iitCaConfigAddress | sjwsa: | Aдреса ресурсу (файлу) з описом деяких параметрів КНЕДП, які використовують бібліотеки ІІТ. Дані необхідні для перевірки підпису без сертифікату підписанта. Для локального файлу: file:///CAs.json | ||||||||||||||||||||||||||||||||||||||||
sjwsa.keyGenerationProxy=proxyAddress | sjwsa: | Адреса прокссі сервера для відправки запитів на реєстрацію нових ключів. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.ocspUrlMapper=mapperRules | sjwsa: | Правила трансляції адрес OCSP сервера. Доступні значення: | ||||||||||||||||||||||||||||||||||||||||
sjwsa.voidAutoStart=false | sjwsa: | true - виконати старт веб-сервісу без особистих ключів; | ||||||||||||||||||||||||||||||||||||||||
sjwsa.keyStorage=keyStoragePath | sjwsa: | Шлях до ключового контейнера (носія). | ||||||||||||||||||||||||||||||||||||||||
sjwsa.keyStoragePassword=password | sjwsa: | Пароль (пін-код) до ключовогок контейнеру (захищеного носія). | ||||||||||||||||||||||||||||||||||||||||
sjwsa.cryptoLibDebug | sjwsa: | true - формувати та виводити відладочні повідомлення бібліотеки криптофункцій; * false - не формувати та не виводити відладочні повідомлення бібліотеки криптофункцій. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.watchDogEnabled=false | sjwsa: watchDogEnabled: false | true - процес моніторингу та видалення прострочених сесій активно; * false - процес моніторингу та виделання прострочених сесій неактивно.. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.watchDogPeriod=1800 | sjwsa: watchDogPeriod: 1800 | Період запуску процесу видалення прострочених сесій, в секундах. Параметр використовується лише, якщо процес моніторингу та видалення прострочених сесій активно. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.ticketTimeToLive=3600 | sjwsa: ticketTimeToLive: 3600 | Інтервал часу, після завершення якого сесія вважається простроченою, в секундах. Параметр використовуєтьсья лише, якщо процес моніторингу та видалення прострочених сесій активно. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.watchDogTicketPerIteration=1000 | sjwsa: watchDogTicketPerIteration: 1000 | Максимальна кількість сесій, яке прцоес моніторингу та видалення прострочених сесій опрацьовує перед паузою (sjwsa.watchDogInterIterationDelay). Параметр використовується лише, якщо процес моніторингу та видалення прострочених сесій активно. | ||||||||||||||||||||||||||||||||||||||||
sjwsa.watchDogInterIterationDelay | sjwsa: watchDogInterIterationDelay: 100 | Пауза, яку процес моніторингу та видалення прострочених сесій робить після обробки максимальної кількості сессій (sjwsa.watchDogTicketPerIteration), в мілісекундах. Параметр використовується, якщо процес моніторингу та видалення прострочених сесій активно. |
* - значення за замовчуванням
Конфігурація за замовчуванням
spring: application: name: ccs-signer-service server: port: 9092 logging: file: ccs-signer-service.log path: . pattern: file: "%d{yyyy-MM-dd HH:mm:ss.SSS} -%5p ${PID} [%thread] %-20.20logger{20} - %m%n %wEx" sjwsa: voidAutoStart: true ocspUrlMapper: http://uakey.com.ua/services/ocsp=http://uakey.com.ua;http://uakey.com.ua/services/ocsp=http://uakey.com.ua/
Приклад конфігурації
logging: path: /var/log/cix509/signer-server console.enable: false sjwsa: workerThreadNumber: 4 accessTokenUptime: 3777 caCertificateChain: https://cipher.kiev.ua/files/sjwsa/CACertificates.p7b voidAutoStart: false cryptoLibDebug: true iitCaConfigUrl: https://cipher.kiev.ua/files/sjwsa/CAs.json caConfigFile: ca1.properties keyStorage: ivanov.pfx keyStoragePassword: 12345678
Пример файла с параметрами подключения к тестовому ЦСК "Сайфер"
################################################################################ # # Конфігураційний файл Центру сертифікації ключів # Версія 1.0 # 29.09.2016 # ################################################################################ # Доступні параметри: ################################################################################ # # caConfigName назва ЦСК # # caManufacturer виробник ЦСК # # caConfigId ідентифікатор ЦСК # # ldapServer назва параметру адреси LDAP-сервера # у форматі ldap://адрес[:порт], # наприклад ldap://192.168.0.123. # # ldapBaseDn базова адреса в ієрархії LDAP. # # ldapLogin ім'я користувача для входу в LDAP. # # ldapPassword пароль для входу в LDAP. # # tspServer адреса сервера електронних позначок часу у форматі # server:port, де: # server - доменне ім'я чи IP-адреса, # port - номер порту сервера TSA. # # ocspServer адреса сервера OCSP у форматі server:port, де: # server - домене ім'я чи IP-адреса, # port - номер порту сервера OCSP. # # cmpServer адреса сервера CMP у форматі server:port, де: # server - домене ім'я чи IP-адреса, # port - номер порту сервера CMP. # # useProxyServer позначка використання проксі-серверу. # Доступні значення: # true: проксувати запити LDAP, TSP, OCSP # false: не проксувати LDAP, TSP, OCSP (за # замовчуванням,якщо параметр не вказано); # # proxyServer адреса проксі-сервера. # Доступні значення: # URL сервера у вигляді http://0.0.0.0/proxy_path # # cdpAddress адреса сертифікату видавця # Доступні значення: # URL сервера у вигляді http://0.0.0.0/certificate_path # # acdpAddress резервна адреса сертифікату видавця # Доступні значення: # URL сервера у вигляді # http://0.0.0.0/certificate_path # ################################################################################ caConfigName=Тестовий ЦСК Сайфер caManufacturer=CIPHER caConfigId=testIitCipher ldapServer=ldap://46.182.83.77 ldapBaseDn=dc=cipher,dc=com ldapLogin=cn=read,ou=accounts,dc=cipher,dc=com ldapPassword=mY2daCn8 tspServer=46.182.83.77:318 ocspServer=46.182.83.77:5001 #useProxyServer=true #proxyServer=http://proxy.cipher.kiev.ua:80/cipher-proxy #proxyServer=http://localhost:8080 #proxyServer=http://cipher-proxy.cfapps.io
Приклад запуску лише для перевірки підпису
java -jar -Dsjwsa.caCertificateChain=https://czo.gov.ua/folderverify/Data/CACertificates.p7b -Dsjwsa.iitCaConfigUrl=https://cipher.kiev.ua/files/sjwsa/CAs.json -Dspring.cloud.config.enabled=false -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC signer-service-0.9.9-b51.jar