RDNs are a set of {attribute = value} assertions. Some of those attributes are "distinguished" (unique w/in context). Order is never relevant. Some X.500 names include only a single distinguished attribute per RDN. This style is currently common. Note that DER-encoded RDNs sort AVAs by assertion OID ... so that when we parse this data we don't have to worry about canonicalizing it, but we'll need to sort them when we expose the RDN class more.
The ASN.1 for RDNs is:
RelativeDistinguishedName ::= SET OF AttributeTypeAndValue AttributeTypeAndValue ::= SEQUENCE { type AttributeType, value AttributeValue } AttributeType ::= OBJECT IDENTIFIER AttributeValue ::= ANY DEFINED BY AttributeType
Note that instances of this class are immutable.