1

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

在规范部分5.4.1.6 XML Element Encoding中,它规定:

[...] 结构值编码为嵌套的 xml 元素,非结构值使用 'value' 属性编码

有了这个例子:

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

我不明白这种语法,因为激活日期是一个属性。在第2.1.1 节 Attribute中,使用包含Attribute Name、Attribute Index、Attribute Value的结构来描述属性。

ActivationDate或其他属性的 XML 表示应该是:

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

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

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

4

1 回答 1

1

KMIP 规范在这一点上非常模糊。您描述的两种形式的属性都被认为是有效的 KMIP 并且应该被处理。

在实现 http/json/xml 编码时,我强烈推荐 KMIP Additional Message Encodings 文档- https://docs.oasis-open.org/kmip/kmip-addtl-msg-enc/v1.0/os/kmip-addtl-味精-enc-v1.0-os.html

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

于 2018-04-25T13:32:11.103 回答