- From: Owen Roberts <oroberts@baltimore.com>
- Date: Wed, 12 Jul 2000 13:19:53 +0100
- To: IETF/W3C XML-DSig WG <w3c-ietf-xmldsig@w3.org>
Hi all,
From the latest draft http://www.w3.org/TR/2000/WD-xmldsig-core-20000711/
<element name='X509Data'>
<complexType content='elementOnly'>
<choice minOccurs='1' maxOccurs='1'>
<sequence minOccurs='1' maxOccurs='unbounded'>
<choice minOccurs='1' maxOccurs='1'>
<element ref='ds:X509IssuerSerial'/>
<element name='X509SKI' type='ds:CryptoBinary'/>
<element name='X509SubjectName' type='string'/>
</choice>
</sequence>
<element name='X509Certificate' type='ds:CryptoBinary'
minOccurs='1' maxOccurs='1'/>
<element name='X509CRL' type='ds:CryptoBinary' minOccurs='1'
maxOccurs='1'/>
</choice>
</complexType>
</element>
DTD:
<!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName),
X509Certificate*, X509CRL*)>
I'm pretty sure this DTD fragment doesn't reflect the schema.
maybe this is closer?
<!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName)+ |
X509Certificate| X509CRL)>
Also, my suggestion is
<element name='X509Data'>
<complexType content='elementOnly'>
<sequence minOccurs='1' maxOccurs='1'>
<choice minOccurs='1' maxOccurs='1'>
<sequence minOccurs='1' maxOccurs='1'>
<element ref='ds:X509IssuerSerial'
minOccurs='0' maxOccurs='1'/>
<element name='X509SKI' type='CryptoBinary'/
minOccurs='0' maxOccurs='1'/>
<element name='X509SubjectName' type='string'/
minOccurs='0' maxOccurs='1'/>
</sequence>
</choice>
<element name='X509Certificate' type='ds:CryptoBinary'
minOccurs='0' maxOccurs='unbounded'/>
<element name='X509CRL' type='ds:CryptoBinary' minOccurs='0'
maxOccurs='unbounded'/>
</sequence>
</complexType>
</element>
or in DTD form
<!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName)+ ,
X509Certificate*, X509CRL*)>
not sure if i've got the syntax 100% - but I hope you understand where I'm
coming from.
each X509Data should refer to the certs surrounding a single public key. As
noted in previous posts, there could be multiple cert chains from different
CAs.
I guess maybe you could restrict each X509Data to holding one certchain for
clarity, and use multiple x509datas to hold the multiple cert chains for the
same public key.
BTW - for those interested, I'm working at Baltimore in Dublin on XSecure -
currently implementing the latest spec for this product. I hope soon to be
in a position to do some interop by setting up a web page and working over
email.
Thanks,
Owen
--
Owen Roberts
Toolkits Architect
Baltimore Technologies, Dublin
oroberts@baltimore.ie
(+3531) 647 7430
Received on Wednesday, 12 July 2000 09:49:21 UTC