我目前正在使用开源库KMIP4J学习和开发KMIP(Spec 1.0)。我正在查看规范表中作为示例提供的用例,我不得不尝试区分模板和模板属性结构的使用。
这两个用例有什么区别?两者都有加密算法和加密长度属性,但我不明白它们之间的区别。
答案 0 :(得分:2)
在KMIP Specification内,有两种不同类型的对象:托管对象和基础对象。
托管对象是指:
由密钥管理系统存储和维护的对象[KMIP规范,第1节]
托管对象示例:证书,对称密钥,公钥,私钥,模板
基础对象是指:
协议消息中使用但不由密钥管理系统管理的对象。基础对象是托管对象的组件。 [KMIP规范,第2.1节]
基础对象的示例:属性,凭证,键值,模板 - 属性结构
模板是一种受管对象。
模板是命名的托管对象,包含托管加密对象的客户端可设置属性(即,存储的,命名的属性列表)。模板中指定的属性适用于创建的任何按名称引用模板的对象。 [KMIP规范,第2.2.6节]
模板 - 属性结构是一种基础对象。
模板 - 属性结构用于各种操作,以在请求中提供所需的属性值和/或模板名称,并在响应中返回实际的属性值。 [KMIP规范,第2.1.8节]
因此,让我们看看您指出的用例:
在使用案例3.1.1中:
在使用案例3.1.4中:
Template1
Template1
的 Template 的引用,指示操作应使用Template1
指定的属性(我们从步骤1中知道的是加密算法和加密长度) )key1
因此,这两个操作实际上创建了具有相同属性值的相同对称密钥,但第二种情况使用预定义的模板(并且,通常会添加密钥名称),而第一种情况则不会。
旁注:
此时KMIP 1.0 Specification已经过时了。 KMIP 1.3于2015年12月发布。我特别提到这一点,因为模板结构从1.3开始被弃用。