TCI CertRobot Клиентская утилита, автоматизирующая запрос/получение сертификатов и прохождение DCV. Требуется аккаунт на tlscc.ru. То есть, пользователь регистрируется в ЦС TLS, а реквизиты акканута (логин/пароль) передаёт данной утилите (в конфигурационном файле, либо пароль можно указать в командной строке). Для проверки права управления доменным именем используется HTTP-подтверждение, которое реализуется двумя способами: 1) запуск собственного HTTP-респондера, встроенного в утилиту (требуется возможность приёма соединений 80/tcp); 2) размещение файла с кодом подтверждения в директории независимого (от утилиты) веб-сервера (требуется указать путь к директории web root). Конфигурационный файл По умолчанию - tcibot.conf (см. ниже). Файл в формате JSON, описание полей: "backend_hostname" - строка; имя хоста, под которым доступен сервис ЦС ("tlscc.ru"); "api_path" - строка; часть URL, обозначающая корневую директорию API ("api/1.0"); слева не должно быть косой черты ("/"); "login" - строка; логин пользователя в ЦС TLS ТЦИ ("user@test.ru"); "password" - строка; опциональный пароль к логину (обратите внимание: в данной версии пароль сохраняется в открытом виде; пароль можно указывать в параметрах командной строки, а не только в конфигурационном файле); "working_dir" - строка; рабочая директория утилиты, без завершающей косой черты, - в эту директорию записываются полученные сертификаты и СЕКРЕТНЫЕ ключи ("/etc/pki/private/operations"); "root_cert_file" - строка; ОПЦИОНАЛЬНЫЙ СЛУЖЕБНЫЙ параметр - позволяет использовать заданный сертификат в качестве доверенного корневого сертификата при доступе к API; указывает на путь к PEM-файлу сертификата; при отсутствии данного параметра (или если значением является пустая строка) используется системный набор корневых сертификатов; "debug" - true/false, флаг; включает режим отладки - в данном режиме утилита выводит дополнительные сообщения о статусе во время работы (false). Пример файла конфигурации: { "backend_hostname" : "cs-tls.ru", "api_path" : "api/1.0/", "login" : "user@test.ru", "password" : "", "working_dir" : "/etc/tcibot/private", "root_cert_file" : "", "debug" : false } Вызов ./tcibot -d domain.tld [-c config.conf] [-p pwd123] [-r /var/www/site/] где: -d - доменное имя, для которого заказывается сертификат; -c - конфигурационный файл (по умолчанию - tcibot.conf в текущей директории); -p - пароль для аккаунта на tlscc.ru (ЦС TLS ТЦИ); пароль также может быть указан в конфигурационном файле, приоритет имеет параметр командной строки; -r - корневая директория веб-сервера, означает, что для подтверждения права управления используется независимый веб-сервер. Основной вывод производится в STDERR, имена файлов сертификатов и ключей - выводятся в STDOUT. Сборка cd cmd/ go build -o /path/to/utils/tcibot main.go