KNX 密钥环文件(.knxkeys)用于 ETS 中的安全通信,其中包含 KNX 设备的加密凭据。其格式包含一个加密的FDSK,以及通过按特定顺序写入元素和属性,再使用PBKDF2和SHA256进行哈希运算生成的签名。要使用它,请在 ETS 中通过“项目”→“安全”→“导入密钥环”导入该密钥环。
KNX 密钥环概述:
密钥环文件与 KNX Secure 配置相关,主要用于 ETS(工程工具软件)中的安全通信。
该文件通常以 .knxkeys 为扩展名,其中包含 KNX 设备和接口的加密凭据。
密钥环文件格式:
下面是密钥环文件的格式。
FDSK 已加密,解密方法见此处的文章。
加密 FDSK 后,按以下步骤签署整个格式。
签名生成:
密钥文件的签名生成和验证与 KNX 产品数据的哈希/签名生成类似:
- 在 .NT 二进制写入器(sAttributeStream)中,按以下顺序写入(省略 密钥环/@签名):
-每个元素
a. 字符(0x01)
b. 元素名称(不含任何 XML 名称空间)*
c. 每个属性,按属性名称排序
-带前导长度字节的属性名称*
-带前导长度字节的属性值*
d. 递归处理可能的子元素
e. 字符(0x02)
2. Base64( PBKDF2( HMAC-SHA256, KeyringPassword, "1.keyring.ets.knx.org", 65536, 128))*
3. 签名 = MSB128( SHA256( sAttributeStream))
注意:元素名、属性名、属性值和 base64 密码哈希值都会写入一个前导长度字节。空属性值写成长度值 0x00。
在ETS中的用法:
要与 KNX 安全路由器建立安全连接,您必须通过以下路径将 KNX 密钥环文件(.knxkeys)导入 ETS:
项目 → 安全 → 导入密钥环 → 选择 .knxkeys 文件。