Abaixo está o formato do arquivo de chave criptografada.
O FDSK está encriptado e a desencriptação é explicada no artigo aqui.
e assim que o FDSK estiver criptografado, assine todo o formato seguindo o procedimento abaixo.
Geração de assinaturas:
A assinatura sobre o arquivo de chave criptografada é gerada e verificada de forma semelhante à geração de hash / assinatura para os dados de produtos KNX:
- Em um .NT BinaryWriter (sAttributeStream), escreva nesta ordem (omitindo a chave criptografada/@Assinatura):
-por cadaelemento
a. char(0x01)
b. Nome do elemento (sem qualquer espaço de nomes XML)*
c. atributos foreach, ordenados por Nome de Atributo
- Nome do atributo com o comprimento principal de byte*
- Valor do atributo com o byte de comprimento inicial*
d. processar recursivamente possíveis elementos filhos
e. char(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*
3. Assinatura = MSB128( SHA256( sAttributeStream))
Nota: Os nomes de elementos e atributos, bem como os valores de atributos e o hash de senha base64 são todos escritos com um byte de comprimento inicial. Os valores de atributos vazios são escritos com o valor de comprimento 0x00.