A continuación se muestra el formato del archivo de llavero.
El FDSK está encriptado y la desencriptación se explica en este artículo.
y una vez encriptado el FDSK, firme todo el formato siguiendo el procedimiento que se indica a continuación.
Generación de firmas:
La firma sobre el archivo de llavero se genera y verifica de forma similar a la generación de hash/firma para los datos de producto KNX:
- En un BinaryWriter .NT (sAttributeStream), escriba en este orden (omitiendo Keyring/@Signature):
-por cadaelemento
a. char(0x01)
b. Nombre del elemento (sin ningún espacio de nombres XML)*.
c. para cada Atributo, ordenado por Nombre de Atributo
-Nombre del atributo con byte de longitud inicial*.
-Valor del atributo con byte de longitud inicial*.
d. procesar recursivamente los posibles elementos hijos
e. char(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*
3. Firma = MSB128( SHA256( sAttributeStream))
Nota: Tanto los nombres de elementos y atributos como los valores de atributos y el hash de contraseña en base64 se escriben con un byte de longitud por delante. Los valores de atributo vacíos se escriben con el valor de longitud 0x00.