OASIS Open Mailing List Archives  ·  All Lists  ·  kmip-interop-tech  ·  2012-05

kmip-interop-tech — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

Tomorrow's Call


I understand the difference between Get and Get Attributes on a Template just as Tim writes. In my server, a Get on a Template object returns those attributes applied by the template. I also include any attributes implicitly created for the object. I'll give an example here and please let me know if this is incorrect: First I create the template with just a few attributes, and a few implicitly added attributes are sent back by the server in the Template Attribute in the Response Message: <BatchItem type="Structure"> <Operation type="Enumeration" value="Create" /> <RequestPayload type="Structure"> <ObjectType type="Enumeration" value="0x00000006" /> <TemplateAttribute type="Structure"> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Algorithm" /> <AttributeValue type="Enumeration" value="0x00000003" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Length" /> <AttributeValue type="Integer" value="256" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Name" /> <AttributeValue type="Structure"> <NameValue type="TextString" value="Template-1" /> <NameType type="Enumeration" value="0x00000001" /> </AttributeValue> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Contact Information" /> <AttributeValue type="TextString" value="Jim Flood" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="x-Security Group" /> <AttributeValue type="TextString" value="Portland" /> </Attribute> </TemplateAttribute> </RequestPayload> </BatchItem> <BatchItem type="Structure"> <Operation type="Enumeration" value="Create" /> <ResultStatus type="Enumeration" value="Success" /> <ResponsePayload type="Structure"> <UniqueIdentifier type="TextString" value="YHvy/gbcZUtpx1pQSXjMlw==" /> <TemplateAttribute type="Structure"> <Attribute type="Structure"> <AttributeName type="TextString" value="Operation Policy Name" /> <AttributeValue type="TextString" value="default" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Usage Mask" /> <AttributeValue type="Integer" value="12" /> </Attribute> </TemplateAttribute> </ResponsePayload> </BatchItem> Note that Operation Policy Name and Cryptographic Usage Mask are now also part of this template, i.e. they will be applied to any object created with this template. If I issue a Get Attributes on this object, I see the full list of attributes: <BatchItem type="Structure"> <Operation type="Enumeration" value="GetAttributes" /> <RequestPayload type="Structure" /> </BatchItem> <BatchItem type="Structure"> <Operation type="Enumeration" value="GetAttributes" /> <ResultStatus type="Enumeration" value="Success" /> <ResponsePayload type="Structure"> <UniqueIdentifier type="TextString" value="YHvy/gbcZUtpx1pQSXjMlw==" /> <Attribute type="Structure"> <AttributeName type="TextString" value="Contact Information" /> <AttributeValue type="TextString" value="Jim Flood" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Algorithm" /> <AttributeValue type="Enumeration" value="0x00000003" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Length" /> <AttributeValue type="Integer" value="256" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Usage Mask" /> <AttributeValue type="Integer" value="12" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Initial Date" /> <AttributeValue type="DateTime" value="2012-05-08 18:06:15Z" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Last Change Date" /> <AttributeValue type="DateTime" value="2012-05-08 18:06:15Z" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Name" /> <AttributeIndex type="Integer" value="0" /> <AttributeValue type="Structure"> <NameValue type="TextString" value="Template-1" /> <NameType type="Enumeration" value="0x00000001" /> </AttributeValue> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Object Type" /> <AttributeValue type="Enumeration" value="0x00000006" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Operation Policy Name" /> <AttributeValue type="TextString" value="default" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="State" /> <AttributeValue type="Enumeration" value="0x00000002" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Unique Identifier" /> <AttributeValue type="TextString" value="YHvy/gbcZUtpx1pQSXjMlw==" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="x-Security Group" /> <AttributeIndex type="Integer" value="0" /> <AttributeValue type="TextString" value="Portland" /> </Attribute> </ResponsePayload> </BatchItem> But if I issue a Get on the object, I only see those attributes that would be applied to an object created with this Template: <BatchItem type="Structure"> <Operation type="Enumeration" value="Get" /> <RequestPayload type="Structure" /> </BatchItem> <BatchItem type="Structure"> <Operation type="Enumeration" value="Get" /> <ResultStatus type="Enumeration" value="Success" /> <ResponsePayload type="Structure"> <UniqueIdentifier type="TextString" value="YHvy/gbcZUtpx1pQSXjMlw==" /> <Template type="Structure"> <Attribute type="Structure"> <AttributeName type="TextString" value="Contact Information" /> <AttributeValue type="TextString" value="Jim Flood" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Algorithm" /> <AttributeValue type="Enumeration" value="0x00000003" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Length" /> <AttributeValue type="Integer" value="256" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Cryptographic Usage Mask" /> <AttributeValue type="Integer" value="12" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="Operation Policy Name" /> <AttributeValue type="TextString" value="default" /> </Attribute> <Attribute type="Structure"> <AttributeName type="TextString" value="x-Security Group" /> <AttributeIndex type="Integer" value="0" /> <AttributeValue type="TextString" value="Portland" /> </Attribute> </Template> </ResponsePayload> </BatchItem> I am interested in any feedback on this example, since I have not yet performed any interoperability testing. Jim Flood On 5/3/2012 6:59 AM, Tim Hudson wrote: What is the "value" of a Template - i.e. what is returned for a GET on a template. For the following example - register of a template: OBJECT_TYPE:enum:0x00000006:TEMPLATE TEMPLATE_ATTRIBUTE:stru:4 END_STRUCTURE:stru:4 TEMPLATE:stru:4 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Algorithm ATTRIBUTE_VALUE:enum:0x00000003 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Length ATTRIBUTE_VALUE:int4:0x00000100 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Usage Mask ATTRIBUTE_VALUE:int4:0x0000000c END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Name ATTRIBUTE_VALUE:stru:6 NAME_VALUE:text:Template1 NAME_TYPE:enum:0x00000001:UNINTERPRETED_TEXT_STRING END_STRUCTURE:stru:6 END_STRUCTURE:stru:5 END_STRUCTURE:stru:4 This is what I think is "correct" - call this VENDOR-A: TEMPLATE:stru:4 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Algorithm ATTRIBUTE_VALUE:enum:0x00000003:AES END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Length ATTRIBUTE_VALUE:int4:0x00000100 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Usage Mask ATTRIBUTE_VALUE:int4:0x0000000c:DECRYPT ENCRYPT END_STRUCTURE:stru:5 END_STRUCTURE:stru:4 Here is an example of something I consider not correct - call this VENDOR-B: TEMPLATE:stru:4 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Algorithm ATTRIBUTE_VALUE:enum:0x00000003:AES END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Length ATTRIBUTE_VALUE:int4:0x00000100 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Usage Mask ATTRIBUTE_VALUE:int4:0x0000000c:DECRYPT ENCRYPT END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Object Type ATTRIBUTE_VALUE:enum:0x00000006:TEMPLATE END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Name ATTRIBUTE_VALUE:stru:6 NAME_VALUE:text:Template1 NAME_TYPE:enum:0x00000001:UNINTERPRETED_TEXT_STRING END_STRUCTURE:stru:6 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Unique Identifier ATTRIBUTE_VALUE:text:e176df8d-16de-4bed-8031-0ef7932f8740 END_STRUCTURE:stru:5 END_STRUCTURE:stru:4 Here is an example of something I consider not correct - call this VENDOR-C: TEMPLATE:stru:4 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Object Type ATTRIBUTE_VALUE:enum:0x00000006:TEMPLATE END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Algorithm ATTRIBUTE_VALUE:enum:0x00000003:AES END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Cryptographic Length ATTRIBUTE_VALUE:int4:0x00000100 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Name ATTRIBUTE_INDEX:int4:0x00000000 ATTRIBUTE_VALUE:stru:6 NAME_VALUE:text:Template1 NAME_TYPE:enum:0x00000001:UNINTERPRETED_TEXT_STRING END_STRUCTURE:stru:6 END_STRUCTURE:stru:5 ATTRIBUTE:stru:5 ATTRIBUTE_NAME:text:Initial Date ATTRIBUTE_VALUE:date:0x000000004f967840:Tue Apr 24 19:54:08 2012 END_STRUCTURE:stru:5 END_STRUCTURE:stru:4 There are other variations on the theme - but the general concept should be clear. We can argue whether or not the Name belongs in the template - and my argument for that is rather simple - it isn't there for other objects - they are all attributes - and there is no way a template should be treated differently. The concept of the "value" of the template containing attributes other than those which form part of what the template contributes to objects created with reference to the template is (in my view at least) simply unsupportable. Views? Tim. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]