Cert auto-signé avec des noms alternatifs de sujet

Je tente de créer un cert auto-signé avec des SAN en utilisant OpenSSL sur Ubuntu 14.10. Je suis sur le sharepoint générer avec succès une CSR qui comprend les extensions appropriées.

Lorsque je génère le certificate en utilisant le CSR, les informations SAN ne le font pas.

openssl.cnf

[ ca ] default_ca = CA_default [ CA_default ] dir = ./demoCA # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept database = $dir/index.txt # database index file. new_certs_dir = $dir/newcerts # default place for new certs. certificatee = $dir/cacert.pem # The CA certificatee serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number must be commented out to leave a V1 CRL crl = $dir/crl.pem # The current CRL private_key = $dir/private/cakey.pem# The private key RANDFILE = $dir/private/.rand # private random number file x509_extensions = v3_req # The extentions to add to the cert name_opt = ca_default # Subject Name options cert_opt = ca_default # Certificate field options copy_extensions = copy default_days = 365 # how long to certify for default_crl_days= 30 # how long before next CRL default_md = default # use public key default MD preserve = no # keep passed DN ordering policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = match organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional default_bits = 2048 default_keyfile = privkey.pem distinguished_name = req_distinguished_name atsortingbutes = req_atsortingbutes x509_extensions = usr_cert # The extentions to add to the self signed cert ssortingng_mask = utf8only req_extensions = v3_req # The extensions to add to a certificatee request [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = US countryName_min = 2 countryName_max = 2 stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = VA localityName = Locality Name (eg, city) localityName_default = Ashburn organizationalUnitName = Organizational Unit Name (eg, section) commonName = Common Name (eg server FQDN or YOUR name) commonName_max = 64 emailAddress = Email Address emailAddress_max = 64 emailAddress_default = vincent@exmaple.com [ req_atsortingbutes ] challengePassword = A challenge password challengePassword_min = 4 challengePassword_max = 20 unstructuredName = An optional company name [ usr_cert ] basicConstraints=CA:FALSE nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer subjectAltName=@alt_names [ v3_req ] basicConstraints = CA:FALSE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names [ v3_ca ] subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer basicConstraints = CA:true [ crl_ext ] authorityKeyIdentifier=keyid:always [alt_names] IP.1 = 192.168.1.169 

générer la key:

 openssl genrsa -out test.key 2048 

génère csr:

 openssl req -new -key test.key -out test.csr 

vérifiez csr:

 openssl req -text -noout -in test.csr | grep "IP Address" IP Address:192.168.1.169 

génère cert:

 openssl x509 -req -in test.csr -signkey test.key -out test.pem 

vérifier cert:

 openssl x509 -text -noout -in test.pem | grep "IP Address" 

One Solution collect form web for “Cert auto-signé avec des noms alternatifs de sujet”

À partir des documents openssl x509 , lors de l'utilisation de openssl x509 -req :

 -extfile filename file containing certificatee extensions to use. If not specified then no extensions are added to the certificatee. -extensions section the section to add certificatee extensions from. If this option is not specified then the extensions should either be contained in the unnamed (default) section or the default section should contain a variable called "extensions" which contains the section to use. See the x509v3_config manual page for details of the extension section format. 

Étant donné que votre command openssl x509 -req utilise les options -extfile ou -extensions et que votre openssl.cnf a une section par défaut / non nommée qui n'a pas de variable "extensions", votre certificate auto-signé généré n'aura pas la extensions.

Compte tenu de cela, vous pouvez essayer:

 $ openssl x509 -req -in test.csr -signkey test.key -out test.pem -extensions v3_ca 

Notez que vous souhaitez seulement faire ce qui précède après avoir modifié votre openssl.cnf afin que cette section v3_ca ressemble à:

 [ v3_ca ] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = CA:TRUE keyUsage = nonRepudiation, digitalSignature, keyEncipherment subjectAltName = @alt_names 

c'est-àdire que vous avez ajouté la variable subjectAltName à cette section, tout comme vous l'avez dans la section v3_req . Sans cela, votre certificate auto-signé aurait des extensions, mais pas les SAN que vous désirez. (J'ai également copié les extensions keyUsage de v3_req aussi, en supposant que vous voulez également celles de votre cert délivré.) Vous pourriez être tenté de réutiliser cette section v3_req , au lieu de mettre à jour v3_ca – mais vous ne veulent pas faire ça. Pourquoi? Parce que v3_req dit que le cert n'est pas une autorité de certificateion:

 [ v3_req ] basicConstraints = CA:FALSE ... 

Et puisque vous générez un cert auto-signé, ce n'est probablement pas ce que vous voulez, non plus.

J'espère que cela t'aides!

  • Impossible d'entrer la lettre 'e' sur ssh
  • Pacemaker IP virtuel et IPTables
  • Serveur avec un disque complet! Que puis-je faire?
  • Exécution de plusieurs versions de PostgreSQL sur le même server Ubuntu
  • get l'écriture de lecture du disque dur actuel dans ubuntu et créer un file journal
  • ss segmentation fault - comment enquêter?
  • Utilisation de l'authentification par paire de keys ssh et désactivation de l'authentification par mot de passe ssh - que se passe-t-il si la key privée est perdue?
  • Enregistrer les modifications sur iptables
  • Vérifier si les cadres jumbo fonctionnent réellement
  • Ubuntu - afficher un message d'erreur rouge lorsque le CD dans un certain directory
  • NginX + WordPress + SSL + non-www + W3TC vhost questions de file de configuration
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.