D'après ce que je peux dire , -config
remplace une sorte de configuration interne ; si vous consultez la section "EXEMPLES" de l'article la page de manuel de openssl req il montre un exemple d'un fichier de configuration avec distinguished_name
en elle. Sur une intuition, j'ai ajouté ce qui suit à ma configuration :
[req]
…
distinguished_name = req_distinguished_name
[req_distinguished_name]
# empty.
Ainsi, ma configuration entière ressemblait à quelque chose comme
[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
[v3_req]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.*.${DOMAIN}
(Notez qu'ici, ${DOMAIN}
n'est pas littéral ; vous devez le remplacer par votre nom de domaine DNS ; je crée ce fichier dans un fichier bash
script avec cat >"$OPTIONS_FILE" <<EOF
suivi de ce qui précède, suivi de EOF
)
openssl req … -subj <my subject> -config <that file> …
puis j'ai pris mon sujet en ligne de commande. Pour ceux qui sont intéressés, la commande entière a fini par ressembler à :
openssl req -new \
-key "$PRIVATE_KEY" \
-sha256 \
-config "$OPTIONS_FILE" \
-subj "/C=US/ST=California/L=San Francisco/O=My Company, Inc./CN=*.*.$DOMAIN/" \
-out "$CSR_FILENAME"
Au moment de la publication de cet article, je crois savoir que SHA-1 est déprécié¹ pour les certificats X.509. -sha256
(qui est un drapeau non documenté ), et subjectAltName devient obligatoire², d'où la nécessité de la configuration. La seule autre difficulté que je connaisse pour générer une RSC conforme aux meilleures pratiques est que vous devez utiliser une clé RSA d'au moins 2048 bits (si vous utilisez RSA, ce qui est mon cas) ; vous devez aussi utiliser une clé de sécurité de type "C". debe spécifier la taille à l openssl genrsa
car la valeur par défaut actuelle n'est pas sûre.
¹Bien qu'elle ne soit pas brisée au moment où j'écris ces lignes, les gens pensent que ce n'est qu'une question de temps. Voir <a href="http://googleonlinesecurity.blogspot.com/2014/09/gradually-sunsetting-sha-1.html" rel="nofollow noreferrer">"Mise en veilleuse progressive de SHA1"</a>
L'utilisation du CN pour le nom de domaine n'est plus recommandée ; je ne sais pas quand/si les navigateurs prévoient de le déprécier. "Ne plus inclure et vérifier les chaînes de caractères qui ressemblent à des noms de domaine dans le nom commun du sujet", <a href="https://www.rfc-editor.org/rfc/rfc6125#section-1.5" rel="nofollow noreferrer">RFC 6125</a>
Note : Je suis moins sûr de la valeur "correcte" de <code>keyUsage</code> .