KMIP 中属性的 XML 编码



我正在分析 KMIP 以在 scala 中实现原型。我尝试理解所有概念,以实现不同编码配置文件(字节,JSON,XML)的体系结构。

在规范节5.4.1.6 XML 元素编码中,它规定:

[...]结构值被编码为嵌套的XML元素和非结构的 使用"值"属性对值进行编码

有了这个例子:

<ActivationDate type="DateTime" value="2001-01-01T10:00:00+10:00"/>

我不明白这种语法,因为激活日期是一个属性。在2.1.1节属性中,使用包含属性名称、属性索引、属性值的结构描述属性。

激活日期或其他属性的 XML 表示形式应为:

<Attribute>
<AttributeName type="TextString" value="Activation Date"/
<AttributeValue type="DateTime" value="2001-01-01T10:00:00+10:00"/>
</Attribute>

此外,KMIP 测试用例使用第二种表示形式。

如果第一个表示形式显示为示例,则将使用它。那么在哪种情况下呢?

KMIP规范在这一点上非常模糊。您描述的两种形式的属性都被视为有效的 KMIP,应进行处理。

我强烈建议在实现 http/json/xml 编码时使用 KMIP 附加消息编码文档 - https://docs.oasis-open.org/kmip/kmip-addtl-msg-enc/v1.0/os/kmip-addtl-msg-enc-v1.0-os.html

第 6.1.6 节描述了主规范中未涵盖的另一种格式:<TTLV tag="0x420001" name="ActivationDate" type="DateTime" value="2001-01-01T10:00:00+10:00"/>

最新更新