Quelles cordes sont admis dans le “nom commun” attribut dans un X. 509 certificate?
Dans le nom commun domaine de la DN du certificat X509, tel que défini dans l'ASN.1 notation pour les OID "2.5.4.3", quelles sont les valeurs autorisées?
Je sais que la limite est jusqu'à 64 caractères, mais ils sont tous les caractères autorisés? Chiffres?
E. g. sont .
s est permis? Est une adresse IP (x.x.x.x) une séquence valide par l'ASN à la définition?
Est un nom de domaine autorisé?
- La norme permet juste au sujet de n'importe quelle chaîne dans le nom commun. La signification d'une chaîne dépend de son interprétation.
- si c'est le cas, pourquoi est-ce un commentaire et non une réponse?
- standard sont vous faisant référence?Parce que je suis intéressé par le type ainsi que l'a déclaré à l'ASN notation
- Oh désolé, j'ai lu le RFC 5280. Je n'ai pas de réponse parce que je ne pense pas que c'était suffisamment détaillée pour une réponse.
Vous devez vous connecter pour publier un commentaire.
L'attribut de nom commun dans un Nom unique est codé comme:
où
ub-common-name
est de 64. Les trois dernières codages permettent l'utilisation de toutes les Unicode points de code (en utilisant UTF-16 pour les points de code au-delà de 0xFFFF avecbmpString
); UTF-8 est un encodage de préférence (au moins les normes de le dire).Autant que X. 509 (voir RFC 5280), le contenu de DN éléments ne sont pas pertinents au-delà de comparaison d'égalité; ce qui signifie que vous pouvez mettre ce que la séquence de caractères que vous voulez, aussi longtemps que vous le faire de manière cohérente. RFC 5280 mandats de la casse des comparaisons pour codé en UTF-8 des éléments du nom, et ce n'est pas facile dans le contexte général de l'Unicode: voir section 7.1, qui relie le RFC Quatre mille cinq cent dix huit et Trois mille quatre cent cinquante quatre. Aussi, le "nom commun" est souvent affichées à l'utilisateur (au moins sur les systèmes à l'aide de X. 509 certificats qui ont un affichage et d'une physique de l'utilisateur), de sorte que vous voudrez probablement utiliser une chaîne de caractères qui est significatif, ou au moins pas trop effrayant pour un être humain, et vous pouvez essayer d'éviter les scripts non latins.
Mettre un nom DNS dans le "nom commun" attribut est de pratique courante pour HTTPS, certificats de serveur: voir RFC 2818 (les certificats de serveur contient le nom du serveur auquel le client matchs contre le nom du serveur dans l'URL; normalement, le Sujet Alt extension de Nom est préférable pour cela, mais le nom commun est un peu plus largement pris en charge par les clients).
www-cs-01.oracle.com
qui est utilisé pourwww.oracle.com
, de sorte que le CN n'est pas le même que le nom DNS bien que ce n'est pas ce que vous demandez. Depuis Sae généralement à la certs du portail et de ses portails historiquement utilisé dans le domaine de la CN, je pense que vous aurez du mal à trouver un site qui a quelque chose d'autre qu'un nom DNS de là. Même letsencrypt.org suit cette convenstion, et ils sont un relativement nouveau CA.Si votre problème principal est de savoir si ou non vous pouvez (ou devez) mettre une adresse IP dans le Sujet DN Nom Commun, la réponse est non.
Ce n'est pas lié à l'X. 509 format, mais les spécifications dire comment interpréter ce qu'ils ont lu.
Quand il s'agit de HTTPS, RFC 2818 dit ce qui suit à propos des adresses IP:
Cela signifie que le CN ne devrait pas être utilisée pour une adresse IP, et que le SAN type d'entrée doit par adresse IP, pas de DNS. (Certains navigateurs, de ne pas mettre entièrement en œuvre, de sorte qu'ils pourraient être plus tolérant. Le Java par défaut nom d'hôte du vérificateur seront strictes.)
Les meilleures pratiques pour le certificat de vérification de l'identité sont également définies dans RFC 6125, mais il considère Les adresses IP hors de portée (il est intéressant de lire cette section pour les arguments contre l'utilisation des adresses IP n').
Si vous passez par la extraits de Rfc sur d'autres protocoles, certains ont des contraintes similaires à propos des adresses IP (par exemple, LDAP).
dNSName
extension). Juste pour préciser, j'ai été, portant spécifiquement sur la partie de la question à propos des adresses IP (puisqu'il y avait d'autres réponses pour le reste déjà).Tandis que les réponses ci-dessus, couvrir ce que vous pourrez généralement trouver là, n'oubliez pas que parce que c'est X. 509, vous pouvez réellement mettre beaucoup de choses dedans. Le certificat ci-dessous par exemple utilise 0.9.2342.19200300.100.1.5 qui est "boisson préférée" (Voir http://www.alvestrand.no/objectid/0.9.2342.19200300.100.1.5.html). Openssl comprendre le présent, de sorte que le nom commun est affiché comme CN=example.com/[email protected]/favouriteDrink=tequila. Il existe de nombreux autres domaines qui peuvent être mis dans le certificat nom commun.
Vous pouvez utiliser openssl x509 -texte pour vérifier que le certificat s'affiche comme je l'ai décrit.
Je ne peux pas vraiment répondre à ce qui se passe là-dedans, mais je peux vous dire que ce n' pas y aller: les noms de serveur, comme les noms d'hôtes (www.example.com), des Noms Internes (comme www) et Adresses IP (comme 127.0.0.1 ou 100.100.100.100).
De placer un nom DNS ou un nom de serveur dans le Nom Commun (CN) est dépréciée par l'IETF et le CA/Browser Forum. Bien qu'obsolète, il n'est actuellement pas interdit. Le CA/B est important parce que c'est ce que les navigateurs les navigateurs ne pas suivre l'IETF.
L'IETF déconseillé la pratique dans la RFC 6125, à la section 2.3, tandis que le CA/B déconseillé la pratique dans la configuration de Base, l'article 9.1.1.
Tous les noms de serveur aller dans l'autre Nom de l'Objet (SAN). Placer les noms de serveur dans le SAN est requis par le CA/B Exigences de Base, la section 9.2.1. L'IETF est plus tolérant au cours de l'émission avec le RFC 5280, mais exige en cours de validation en vertu de l'article 6.4.4 de la RFC 6125.