Установка и использование платформы
Тонкая настройка платформы: настройка TLS¶
Для работы со смарт-контрактами нода использует два типа соединения, для каждого из которых можно настроить TLS: docker-TLS и подключение по API.
Настроить защищенный канал связи по протоколу TLS для gRPC и REST API для каждой ноды можно с помощью параметров работы gRPC и REST API в секции api
конфигурационного файла ноды. Для настройки защищенного канала связи по протоколу TLS используйте параметр TLS
в блоке rest и в блоке в блоке grpc.
Для работы с API по защищенному каналу связи по протоколу TLS необходимо:
включить защищенный канал связи по протоколу TLS в секции node.api конфигурационного файла ноды;
Поместить корневой сертификат удостоверяющего центра, полученный доверенным способом, в хранилище сертификатов CAcerts как описано выше в разделе Удостоверяющий центр;
получить артефакты TLS:
для каждой ноды подготовить 2 ключевые пары и 2 запроса на сертификат: клиентский и серверный;
отправить запросы на сертификат в УЦ и получить сертификаты;
для каждой ноды сформировать хранилище доверенных сертификатов и поместить в него корневой сертификат удостоверяющего центра;
импортировать клиентский и серверный сертификат в хранилище доверенных сертификатов;
добавить ключевую пару к другим ключам ноды.
Пример подготовки этих артефактов представлен в следующем разделе:
В секции
tls
конфигурационного файла ноды включить и настроить TLS, в частности указать относительный путь к хранилищу доверенных сертификатов, как описано ниже в разделе Секция tls конфигурационного файла ноды.
Секция tls
конфигурационного файла ноды¶
Секция tls
содержит следующие параметры настройки канала связи по протоколу TLS:
network.tls = true
tls {
type = GOST
keystore-type = "HDIMAGE"
keystore-password = ${?TLS_KEYSTORE_PASSWORD}
truststore-type = "CertStore"
truststore-password = "certstore_password"
truststore-path = "/etc/node-tls/..data/certs_node_0"
required-client-oids = ["1.3.6.1.4.1.8.1.1", "1.3.6.1.4.1.9.2.2"]
}
type
– режим использования протокола TLS. Возможные опции:GOST
– взаимодействие осуществляется по каналу связи по протоколу TLS с использованием алгоритмов ГОСТ криптографии;DISABLED
– протокол TLS не используется при взаимодействии по каналу связи; в этом случае остальные опции в секции tls не указываются или комментируются.
Важно
Отказ от использования протокола TLS при взаимодействии по каналу связи допускается исключительно в тестовых целях.
keystore-type
– параметр всегда имеет значениеHDIMAGE
;keystore-password
– пароль для хранилища ключей keystore; этот же пароль необходимо ввести в консоли по запросу keystore-password, когда вы создаёте ключевую пару и запрос на сертификат при помощи утилиты GeneratePkiKeypair;truststore-type
– параметр всегда имеет значение CertStore;truststore-password
– пароль для хранилища сертификатов trust-store; этот же пароль необходимо задать флагом-storepass
, когда вы формируете хранилище сертификатов TrustStore при помощи утилиты keytool, как описано в разделе Пример подготовки артефактов для TLS;truststore-path
– относительный путь к хранилищу сертификатов CertStore, размещаемому в директории ноды; для каждой ноды указывается свой путь; ниже дан пример формирования хранилища сертификатов certstore с помощью утилиты keytool.required-client-oids
– список идентификаторов OID, требуемых от клиентских TLS-сертификатов при доступе на API при использовании алгоритмов ГОСТ криптографии с PKI в рабочем режиме (т.е. когда параметруnode.crypto.type
присвоено значениеGOST
, параметруnode.crypto.pki.mode
задано значениеon
, подробнее см. раздел Общая настройка платформы: настройка режима работы). Параметр является обязательным при использовании одного УЦ. Если список не пуст, то он должен представлять собой массив строк, соответствующих стандартному формату OID.