Je travaille avec du code hérité, qui implémente un analyseur X.509 très basique. Le code est assez ancien et je ne peux pas le distribuer.X.509 Ensemble d'attributs standard order
Ce code lit l'ensemble d'attributs standard de l'émetteur et du sujet de manière séquentielle et dans un ordre spécifique. A titre d'exemple de base:
C=XX, O=MyOrganization, OU=MyOrganizationalUnit,
CN=myCommonName
Il lirait le pays, l'organisation, puis l'unité d'organisation et enfin le nom commun.
J'ai lu la norme (https://tools.ietf.org/html/rfc5280#section-4.1.2.4), (voir les sections 4.1.2.4 et 4.1.2.6) et ce code hérité fonctionne en quelque sorte avec la plupart des certificats.
La question est de savoir si cet ensemble d'attributs doit suivre un ordre spécifique et où il est dit ou le contraire.
Pour être plus précis, l'ordre des attributs RDN dans le sujet du certificat n'a pas d'importance. Il existe une convention, mais elle n'est pas strictement appliquée, car même si le champ sujet utilise le format de nom X.500, il n'appartient à aucun arbre X.500. – Crypt32
@CryptoGuy Je pense que c'est important quand ils sont codés en DER car j'ai trouvé la citation suivante dans diverses sources: "Les éléments d'un ensemble sont codés en ordre trié, basé sur leur valeur de balise" (corrigez-moi si je Je me trompe). Cependant, à la fois votre commentaire et la réponse, m'ont aidé à comprendre pourquoi ce code hérité laid fonctionnait du tout. Merci pour ça! – FranMowinckel
'SET' est une séquence non ordonnée. Cela signifie que les types imbriqués (attributs RDN) peuvent apparaître dans n'importe quel ordre. C'est juste une convention pour les commander dans un ordre particulier. – Crypt32