TUTOS.EU

Générer un certificat en vue de sécuriser XenDesktop 7.5

Comment générer un certificat avec ezssl pour sécuriser un site StoreFront de XenDesktop 7.5

Téléchargez ezssl et mettez le bien à la racine d'un lecteur

On voit bien ici que le répertoire ezssl est à la racine du lecteur D.
Lancez ezssl.

Entrez le nom de votre domaine et cliquez sur Ajouter

Remplissez TOUS les champs sinon par la suite cela ne fonctionnera pas et cliquez sur SAVE

Cliquez sur Créer un CA, entrez une pass phrase et terminez par Créer et signer un CA

Le certificat sera sous le repertoire du nom de domaine puis sous private

Les commandes généres sont de ce type pour information :

On peut maintenant créer des certificats pour des serveurs.
Pour le FQDN du serveur, ne mettez que le nom de la machine. Le nom du domaine sera ajouté automatiquement.

Le certificat sera sous le répertoire avec le nom du domaine puis sous cert puis dans un repertoire avec le nom de la machine

Attention : il se peut que la génération du certificat du serveur ne fonctionne pas. Des erreurs comme ci-dessous seront affichées et vous n'aurez que 2 fichiers dans le répertoire qui doit normalement contenir le certificat du serveur, cad le user.csret le user.key

La raison la plus probable est qu'il manque des paramètres pour générer correctement le certificat.
Pour générer le fichier .crt, adaptez la ligne de commande ci-dessous

C:\ezssl\openssl.exe ca -keyfile "C:\ezssl\mydomain.local\private\ca.key" -config "C:\ezssl\mydomain.local\ca-sign.cnf" -in "C:\ezssl\mydomain.local\certs\NomDuServeur\user.csr" -out "C:\ezssl\mydomain.local\certs\NomDuServeur\user.crt" -passin pass:"MotDePasseDuCA"
Lien vers le fichier : cliquez ici Copier le code

Il vous sera demandé de répondre par y pour valider la génération

Par la suite ezssl vérifie le certificat avec une commande de ce type

C:\ezssl\openssl.exe verify -CAfile "C:\ezssl\mydomain.local\private\ca.crt" "C:\ezssl\mydomain.local\certs\NomDuServeur\user.crt"
Lien vers le fichier : cliquez ici Copier le code

La commande doit répondre Ok comme ici

Au final ezssl exporte le certificat .crt en .p12
Pour cela il utilise une ligne de commande de ce type pour OpenSSL

C:\ezssl\openssl.exe pkcs12 -export -in "C:\ezssl\mydomain.local\certs\NomDuServeur\user.crt" -inkey "C:\ezssl\mydomain.local\certs\NomDuServeur\user.key" -certfile "C:\ezssl\mydomain.local\private\ca.crt" -name "NomDuServeur.mydomain.local" -caname "Nom Societe CA" -out "C:\ezssl\mydomain.local\certs\NomDuServeur\NomDuServeur.p12"  -passin pass:"MotDePasseDuCA" -passout pass:""MotDePasseDuCA""
Lien vers le fichier : cliquez ici Copier le code

Exemple

Résultat

Ci-dessous une création complète allant de la création de l'autorité et génération d'un certificat pour une machine puis au final modification du certificat du serveur pour y injecter sa clé privée :

mondomaine.local
Pour la partie création de l'autorité
Création du ca.key
Pour que la commande qui suivera après coup fonctionne, il semble qu'il soit obligatoire de mettre -aes256 en lieu et place de -des3
#C:\ezssl\openssl.exe genrsa -passout pass:"motdepasse autorité" -des3 -out "C:\ezssl\mondomaine.local\private\ca.key" -rand seed.rnd 2048
C:\ezssl\openssl.exe genrsa -passout pass:"MotDePasseCA" -aes256 -out "C:\ezssl\mondomaine.local\private\ca.key" -rand seed.rnd 2048

Création du ca.crt, soit ce certificat de l'autorité
#C:\ezssl\openssl.exe req -new -passout pass:"MotDePasseCA" -passin pass:"MotDePasseCA" -x509 -days 5400 -config "C:\ezssl\mondomaine.local\root-ca.cnf" -key "C:\ezssl\mondomaine.local\private\ca.key" -out "C:\ezssl\mondomaine.local\private\ca.crt"
C:\ezssl\openssl.exe req -new -passout pass:"MotDePasseCA" -passin pass:"MotDePasseCA" -x509 -sha256 -days 5400 -config "C:\ezssl\mondomaine.local\root-ca.cnf" -key "C:\ezssl\mondomaine.local\private\ca.key" -out "C:\ezssl\mondomaine.local\private\ca.crt"



Pour la partie cliente
Generation user.key. J'ai ajouté -aes256 en espérant par la suite que -sha256 fonctionne mais c'est un échec. Cela reste en SHA1
C:\ezssl\openssl.exe genrsa -aes256 -out "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.key" -rand seed.rnd 2048

Generation de user.csr avec user.key en se basant sur les infos fournies dans user-cert.cnf qui contient notamment le common name, soit le nom du serveur
C:\ezssl\openssl.exe req -new -sha256 -days 5400 -config "C:\ezssl\mondomaine.local\user-cert.cnf" -key "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.key" -out "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.csr"


Generation de user.crt avec le cnf du ca, le ca.key, la passphrase du ca et le user.csr
user.crt semble contenir les paramètres du certificat à créer
Si on ne va pas dans le répertoire de openssl au préalable il n'arrive pas à accéder à ca.key. Il faudrait trouver le paramètre pour préciser l'emplacement du ca.key
cd /d C:\ezssl
C:\ezssl\openssl.exe ca -batch -config "C:\ezssl\mondomaine.local\ca-sign.cnf" -out "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.crt" -passin pass:MotDePasseCA -infiles "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.csr"


Cette commande pour passer le user.crt en user.pfx qui permet d'injecter la clé privée :
C:\ezssl\openssl.exe pkcs12 -export -out "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.pfx" -inkey "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.key" -in "C:\ezssl\mondomaine.local\certs\wildcard.mondomaine.local\user.crt" 


Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
Drazzib.comArticle où j'ai trouvé les commandes complémentairs à injecter à OpenSSL pour generer le .crt
Sslshopper.comThe Most Common OpenSSL Commands

Téléchargement(s)

NomSite Web d origineDescription
ezssl.zip http://www.doctor-citrix.com/f... Interface graphique pour OpenSSL


2