[w3c-ietf-xmldsig] <none>

This question is in relation to the KeyInfo structure.  What
I've gotten from the spec and from various emails is that at
least one KeyValue corresponding to the actual authentication
key must be included with the KeyInfo.  However, I'm wondering
if it would make sense to make this more explicit.  Currently,
the KeyInfo element looks like this:

<element name='KeyInfo'>
  <complexType content='elementOnly'>
    <choice minOccurs='1' maxOccurs='unbounded'>
      <any namespace='##other' minOccurs='1' maxOccurs='unbounded'/>
      <element name='KeyName' type='string'/>
      <element ref='ds:KeyValue'/>
      <element ref='ds:RetrievalMethod'/>
      <element ref='ds:X509Data'/>
      <element ref='ds:PGPData'/>
      <element ref='ds:SPKIData'/>
      <element name='MgmtData' type='string'/>
    </choice>
    <attribute name='Id' type='ID' use='optional'/>
  </complexType>
</element>

Instead, maybe you could use something like:

<element name='KeyInfo'>
  <complexType content='elementOnly'>

    <element ref='ds:KeyValue'/>

    <choice minOccurs='1' maxOccurs='unbounded'>
      <any namespace='##other' minOccurs='1' maxOccurs='unbounded'/>
      <element name='KeyName' type='string'/>
      <element ref='ds:KeyValue'/>
      <element ref='ds:RetrievalMethod'/>
      <element ref='ds:X509Data'/>
      <element ref='ds:PGPData'/> 
      <element ref='ds:SPKIData'/>
      <element name='MgmtData' type='string'/>
    </choice>
    <attribute name='Id' type='ID' use='optional'/>
  </complexType>
</element>

In this definition, there would always be a KeyValue for
the authentication key.  Any additional information, such
as certificate chains, could be included in addition to
this.  However, the KeyValue would always be available
and unambiguously identify the authentication key.

My take on the majority of the Signature subtree is that
any application can look at a Signature generated by a different
application and verify it, as long as the key is available.
Where this breaks down is in actually obtaining the key --
the structure of SignedInfo is much more strictly specified
than that of KeyInfo.  Again, any effort made to standardize
this would be appreciated.

--Kevin

Received on Wednesday, 12 July 2000 16:27:10 UTC