- From: Juan Carlos Cruellas <cruellas@ac.upc.edu>
- Date: Fri, 01 Jun 2007 19:01:54 +0200
- To: public-xmlsec-maintwg@w3.org
Dear all, this should complete action 41. Sorry for the long message.
Dear all,
If we asume that by default is implicit that no matter the fact that
RFCs 2253 and 4515 speak about allowing
plain '<' in the string, the XML rule that any '<' within a node text
must be escaped, then I concur that
this is not an issue. Maybe a note warning about this fact could be
worth....
As for the CDATA section vs. node text, I have read somewhere that in
fact the CDATA section is a kind of
convention that applications should know and treat as a node text except
by the fact that escaping as defined
by XML is not required there. My understanding of what I read is that
this not require even a xml schema
change (although I could be wrong: I am not sure, but I have not found
any mention to CDATA sections in the
XML Schema specs -I found mention to CDATA type but at first reading it
does nothing to do).
Nevertheless, after re-reading RFCs 2253 and 4515, I think that we could
have still a different issue. The
origin of this discussion are the different elements within X509Data
that, according XMLSig, should allow to
identify a certain certificate. One of these means is the pair
X509IssuerName, X509SerialNumber.... I propose
to give a thougth to the string representation and asses whether this
might make it unfeasible the
identification of a certificate given the X509IssuerName.
TheRFCs themselves provide a clear warning in sectin 7.2 of RFC 2253,
and 5.2 of RFC 4514 (Use of
Distinguished Names in Security Applications):
" The transformations of an AttributeValue value from its X.501 form to
an LDAP string representation are not always reversible back to the
same BER or DER form. An example of a situation which requires the
DER form of a distinguished name is the verification of an X.509
certificate.
For example, a distinguished name consisting of one RDN with one AVA,
in which the type is commonName and the value is of the TeletexString
choice with the letters 'Sam' would be represented in LDAP as the
string CN=Sam. Another distinguished name in which the value is
still 'Sam' but of the PrintableString choice would have the same
representation CN=Sam.
Applications which require the reconstruction of the DER form of the
value SHOULD NOT use the string representation of attribute syntaxes
when converting a distinguished name to the LDAP format. Instead,
they SHOULD use the hexadecimal form prefixed by the octothorpe ('#')
as described in the first paragraph of section 2.4.
"
I read this as that it looks like if people use regular strings
(CN=John....) instead the scaped octet
representation preceded by the dot representation of the OID,
applications could not rebuild the orignial DER
encoding Distinguished Name and not find the certificate.
On the other hand, if the method is the contrary, i.e. to convert the
Distinguished Name of the certificates
to be inspected to String using the RFC 2253 / 4514, still seems that
there are possibilities for getting
different strings.
RFC2253 (section 2.3) when speaks about converting the
AttributeTypeAndValue says:
"If the AttributeType is in a published table of attribute types
associated with LDAP [4], then the type name string from that table
is used, otherwise it is encoded as the dotted-decimal encoding of
the AttributeType's OBJECT IDENTIFIER. The dotted-decimal notation is
described in [3]. As an example, strings for a few of the attribute
types frequently seen in RDNs include:...
"
And gives an example table... and I wonder about hte possibility that a
generating application uses some a
short name that the verifying application does not know and then how
this one could actually match both
strings?
RFC 4514 has introduced some changes. In section 2.3 speaks about a
registration process of short names
(descriptors) managed by IANA, but in its sectin 3 it gives a table and
says:
"Implementations MUST recognize AttributeType name strings (descriptors)
listed in teh following table, but
MAY recognize other name strings" and later on :
" Implementations MAY recognize other DN string representations.
However, as there is no requirement that alternative DN string
representations be recognized (and, if so, how), implementations
SHOULD only generate DN strings in accordance with Section 2 of this
document.
"
In summary, I wonder whether we should think a bit more on giving some
guidance that would avoid this problem
of identifying the referenced certificate by a X509IssuerSerial element.
Sorry if I raise some issue that was already discussed in the XMLSig WG
(and if so, please forget it) and also for this long message
Juan Carlos
Received on Friday, 1 June 2007 17:01:53 UTC