Ниже представлен формат файла ключа.
FDSK зашифрован, а его расшифровка описана в статье здесь.
И как только FDSK будет зашифрован, подпишите весь формат, следуя приведенной ниже процедуре.
Генерация подписи:
Подпись под файлом ключа генерируется и проверяется аналогично генерации хэша/подписи для данных о продуктах KNX:
- В .NT BinaryWriter (sAttributeStream) запишите в таком порядке (опуская Keyring/@Signature):
-foreach Element
a. char(0x01)
б. Имя элемента (без пространства имен XML)*
c. для каждого атрибута, упорядоченного по имени атрибута
-Имя атрибута с ведущим байтом длины*
-Значение атрибута с ведущим байтом длины*
д. рекурсивно обрабатывать возможные дочерние элементы
e. char(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*.
3. Подпись = MSB128( SHA256( sAttributeStream))
Примечание: Имена элементов и атрибутов, а также значения атрибутов и хэш-пароль в формате base64 записываются с ведущим байтом длины. Пустые значения атрибутов записываются как значение длины 0x00.