Créer des certificats SSL auto-signés

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Configurer le Serveur > Configurer le chiffrage SSL >

Créer des certificats SSL auto-signés

Cette démo vous montre comment créer des certificats SSl auto-signés pour FlowForce Server exécutés sur un réseau privé. Veuillez noter que cette démo a été simplifiée intentionnellement et n'est pas forcément utilisable pour une production. Votre organisation dispose probablement de politiques de sécurité spécifiques concernant les certificats SSL et peut utiliser des outils SSL autres que ceux décrits ci-dessous. Pour plus d'informations concernant l'obtention de certificats SSL signés par une autorité de certification de confiance, voir Signer des certificats SSL avec une Autorité de Certificat.

 

Exigences préalables

Cet exemple utilise la boîte à outils OpenSSL (https://www.openssl.org/) pour générer des certificats auto-signés. Veuillez noter que OpenSSL est une bibliothèque de source ouverte, ce n'est pas une application binaire compilée pour une plateforme particulière. Les instructions de compilation et d'installation pour OpenSSL varient pour chaque système d'exploitation et vous les trouverez en dehors de l'étendue de cette documentation. Dans un appareil Linux et Mac, il est probable que OpenSSL soit déjà disponible ; sinon, vous pouvez l'installer ou le mettre à jour depuis la ligne de commande. Vous pouvez rapidement contrôler si OpenSSL est présent en saisissant la commande ci-dessous (elle affiche la version OpenSSL actuelle) :

 

openssl version

 

Sur Windows, vous pouvez soit compiler les binaires depuis le code source OpenSSL officiel, ou, en alternative, télécharger une distribution binaire qui comprend OpenSSL, comme Cygwin (https://cygwin.com/).

 

Créer le certificat racine

 

1.Créer un répertoire qui stockera tous les certificats utilisés dans cette démo (par exemple, "C:\secure"). Il s'agira du répertoire de travail pour toutes les commandes OpenSSL ultérieures (c'est à dire, tous les chemins de fichier qui y sont liés). C'est pourquoi, passer à ce répertoire depuis la ligne de commande :

 

cd C:\secure

 

2.Pour cette démonstration, nous allons émettre des certificats avec des extensions OpenSSL. Afin de rendre cela possible, trouver le fichier openssl.cnf dans votre distribution OpenSSL et le copier dans le répertoire de travail créé dans l'étape précédente.
3.Créer la clé privée de racine. Veuillez noter que la clé privée de racine est l'élément le plus sensible de votre infrastructure de clé publique, donc veillez à la générer et à la stocker dans un environnement sûr (dans cette démo, elle est stockée dans "C:\secure").

 

openssl genrsa -aes256 -out root.key 2048

 

Saisir le mot de passe lorsque l'invite apparaît pour protéger la clé de racine. Vous nécessiterez ce mot de passe par la suite pour signer des requêtes de certificat.

 

4.Créer le certificat de racine. La commande ci-dessous génère un certificat auto-signé pour la clé privée créée ci-dessus, avec une validité de 3650. Veuillez noter que le paramètre -config pointe vers le fichier openssl.cnf dans le même répertoire. Le paramètre -extensions se réfère à l'extension "v3_ca" (section) défini dans openssl.cnf.

 

openssl req -config openssl.cnf -extensions v3_ca -x509 -new -nodes -key root.key -sha256 -days 3650 -out root.pem

 

Lorsque l'invite apparaît, saisir l'information concernant votre organisation, par exemple :

 

Country Name (2 letter code) [AU]: AT

State or Province Name (full name) [Some-State]: .

Locality Name (eg, city) []: Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd

Organizational Unit Name (eg, section) []: IT

Common Name (eg, YOUR name) []: Demo CA

Email Address []: test@example.org

 

Vous pouvez remplir les champs requis comme l'exige votre organisation. Pour le champ Common Name, saisir le nom de votre autorité de certification auto-signé ("Demo CA", dans cet exemple).

 

Créer le certificat FlowForce

Vous pouvez maintenant créer le vrai certificat afin qu'il soit utilisé pour le chiffrage SSL (par FlowForce Server, ou FlowForce Web Server, ou les deux). La commande OpenSSL suivante crée la clé privée :

 

openssl genrsa -out flowforce.key 2048

 

Note

La clé privée doit être dans le format PEM (Privacy Enhanced Mail). L'extension de fichier des fichiers PEM est généralement .pem mais il peut aussi être .key, .cert, .cer ou .crt.
Pour que la clé privée puisse être utilisable dans FlowForce, elle ne doit pas être protégée par un mot de passe.
La clé privée doit être stockée de manière sûre.

 

Ensuite, ouvrir le fichier de travail openssl.cnf et y ajouter la section suivante :

 

[ server_cert ]
# Extensions for server certificates (`man x509v3_config`).
basicConstraints = CA:FALSE
nsCertType = server
nsComment = "OpenSSL Generated Server Certificate"
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName=DNS:server.my.domain.com

 

S'assurer de changer le subjectAltName ("Subject Alternative Name") de manière qu'il corresponde au FQDN (fully qualified domain name) de l'appareil sur lequel FlowForce Server est exécuté. Dans cet exemple, il est défini sur "server.my.domain.com". La spécification d'un nom alternatif de sujet est requise par Google Chrome 58 ou plus tard ; sinon, votre certificat auto-signé générera une erreur NET::ERR_CERT_COMMON_NAME_INVALID  (voir https://support.google.com/chrome/a/answer/7391219?hl=en).

 

Ensuite, crée une Certificate Signing Request (CSR), comme indiqué ci-dessous. Veuillez noter que le paramètre -config pointe vers le fichier openssl.cnf édité précédemment. Le paramètre -extension se réfère à l'extension "server_cert" définie dans openssl.cnf.

 

openssl req -config openssl.cnf -extensions server_cert -new -nodes -key flowforce.key -out flowforce.csr

 

Lorsque vous y êtes invité, saisir des informations concernant votre entreprise, par exemple :

 

Country Name (2 letter code) [AU]: AT

State or Province Name (full name) [Some-State]: .

Locality Name (eg, city) []: Vienna

Organization Name (eg, company) [Internet Widgits Pty Ltd]: MyCompany Ltd

Organizational Unit Name (eg, section) []: IT

Common Name (eg, YOUR name) []: server.my.domain.com

Email Address []: test@example.org

 

Note

Concernant le champ Common Name, assurez-vous de saisir le FQDN (nom de domaine entièrement qualifié) de l'appareil hôte sur lequel FlowForce Server est exécuté.
Ne pas remplir le champ de mot de passe challenge lorsque vous êtes invité.

 

Pour cette démo, nous allons signer directement le certificat FlowForce avec le certificat de racine. Noter que, dans un environnement de production, le certificat de racine ne signe par généralement des certificats de serveur directement ; au lieu, des certificats intermédiaires sont utilisés. La commande ci-dessous signe la requête de certificat flowforce.csr par rapport au certificat de racine créée précédemment et crée un fichier flowforce.crt (qui est le certificat de serveur requis dans FlowForce Server):

 

openssl x509 -extfile openssl.cnf -extensions server_cert -req -in flowforce.csr -CA root.pem -CAkey root.key -CAcreateserial -out flowforce.crt -days 365 -sha256

 

Sommaire

Si vous avez suivi les étapes ci-dessus, vous devez maintenant disposer des certificats et clés suivants :

 

root.key - Il s'agit de la clé privée de votre autorité de certification (CA). Stocker ce fichier dans une place sûre ; si cette clé est compromise, n'importe qui peut générer des certificats reconnus par le navigateur en votre nom.
root.pem - Il s'agit du certificat public de votre autorité de certificat. Vous devrez installer (importer) ce certificat dans la boutique de certificats de confiance de chaque appareil (ou de navigateur) qui a besoin d'accéder à FlowForce de manière sûre, voir Importer les certificats racine.
flowforce.key - Cette clé privée accompagne votre certificat auto-signé utilisé par FlowForce (voir item suivant).
flowforce.crt - Il s'agit d'un certificat auto-signé à utiliser par FlowForce Server, FlowForce Web Server, ou les deux.

 

Vous pouvez maintenant activer SSL pour FlowForce Server, FlowForce Web Server, et pour la connexion HTTP entre eux, comme affiché ci-dessous :

 

 

Activer SSL pour FlowForce Web Server
Activer SSL pour FlowForce Server
Activer SSL entre FlowForce Web Server et FlowForce Server

© 2019 Altova GmbH