Установка и использование платформы
Общая настройка платформы: настройка криптографии¶
Тип и параметры используемого в блокчейне криптографического алгоритма задаются в разделе crypto конфигурационного файла ноды. Раздел crypto считывается для инициализации криптографии, которая происходит до чтения полного конфигурационного файла ноды.
crypto {
# Possible values: [WAVES, GOST]
type = WAVES
pki {
# Possible values: [OFF, ON, TEST]
# Could be enabled with GOST crypto type only
mode = OFF
required-oids = []
crl-checks-enabled = false
}
}
type– тип криптографии; доступны значенияWAVESдля использования алгоритмов криптографии Waves иGOSTдля ГОСТ-криптографии с PKI. Если в конфигурационном файле присутствует параметрwaves-crypto, и он имеет значениеyes, то параметруtypeприсваивается значениеWAVES; если параметрwaves-cryptoимеет значениеno, то параметруtypeприсваивается значениеGOST;
pki– группа полей настройки PKI:mode– допустимые значения:on,off,test; значенияonиtestдопустимы только в случае, если параметрwaves-cryptoотсутствует или имеет значениеno, а параметрtypeимеет значениеGOST. Если параметруmodeзадано значениеon, то выполняется проверка того, что TLS включён на сетевом уровне, то есть параметрnode.network.tlsимеет значениеtrue.required-oids– для дополнительного разграничения доступа возможно применять OID. Для этого в полеrequired-oidsукажите список значений (whitelist-список идентификаторов OID), наличие которых нода будет проверять в расширении (поле)ExtendedKeyUsageсертификата. Этот список позволяет выделить из множества пользователей, выпустивших сертификат на одном и том же удостоверяющем центре (УЦ), тех пользователей, которым этот УЦ выдал OID специально для работы с блокчейн платформой. Список может быть пустым. Если список не пуст, то он должен представлять собой массив строк, состоящих из цифр, разделенных точками, и соответствовать стандартному формату OID. Например:
required-oids = ["1.3.6.1.4.1.8.1.1","1.3.6.1.4.1.9.2.2"]
Поле не является обязательным и может отсутствовать в конфигурационном файле ноды.
crl-checks-enabled– включение или отключение проверки списка отозванных сертификатов (CRL) при валидации сертификатов. Если параметру задано значениеtrue, то криптопровайдер проверяет в удостоверяющем центре (УЦ), отозван сертификат или нет. Нода, которая синхронизируется с сетью, проверяет весь леджер, чтобы удостовериться в его целостности, то есть в корректности ЭП каждого блока. При проверке сертификатов нода использует списки CRL, валидные на момент подписания блока. Если нода находилась вне сети какое-то время, или новая нода подключается к сети, то она запрашивает у других нод скачанные ранее CRL.
Важно
Группа полей
pkiиспользуется только с ГОСТ криптографией (то есть когда полюtypeприсвоено значениеGOST). При использовании waves криптографии (то есть когда полюtypeприсвоено значениеWAVES) этой группы полей не должно быть в конфигурационном файле ноды. Если параметры PKI не указаны, то PKI отключен.
Примечание
Поле node.waves-crypto со значениями yes и no по-прежнему поддерживается, но в следующих версиях платформы планируется отказаться от его использования. Вместо него будет использоваться поле type в разделе crypto.