While running tests TC-WRAP-*-14, I started to wonder how to properly format Key Values for wrapped objects and would really appreciate any help to clarify that.
Those tests expect wrapped keys to be within a Key Material, both when registering and when retrieving wrapped objects. E.g.:
<KeyMaterial type="ByteString" value="1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5"/>
However, that seems to go against what is defined on the specification. The Key Value's description states that it may either be a Structure, if the object is not wrapped, or a Byte String, if the object is wrapped.
Therefore, I would expect wrapped objects to have a Key Value without any Key Material. E.g.:
<KeyValue type="ByteString" value="1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5"/>
Which is the correct format?
On a related note, TC-WRAP-1-14 seems to be missing the Unwrap flag on the KEK (though I don't know how to properly report that, now that the public review has ended).