Générer un certificat auto-signé avec TMS Cryptography Pack pour nginx.
Début juin est sortie la version 3.0.1 de TMS Cryptography Pack. Dans les nouveautés, il y a une nouvelle classe, TX509Certificate qui permet de générer des certificats X509 auto-signés et de décoder des certificats afin de lire tous les champs. X509 est une norme créée en 1988 qui établit un format standard de certificat électronique.
Générer un certificat avec TMS Cryptography Pack
Pour générer un certificat auto-signé avec TMS Cryptography Pack, il faut utiliser le composant TX509Certificate et remplir les champs comme ci-dessous :
X509Certificate1.KeyFilePath := 'C:\nginx-1.6.2\conf\nginx_key.key'; X509Certificate1.CrtFilePath := 'C:\nginx-1.6.2\conf\nginx_crt.crt'; X509Certificate1.signatureAlgorithm := TSignAlgo.sa_sha256rsa; X509Certificate1.BitSizeEncryptionAlgorithm := 2048; X509Certificate1.countryName := 'FR'; //facultatif X509Certificate1.stateName := 'Votre région'; //facultatif X509Certificate1.localityName := 'Votre ville'; //facultatif X509Certificate1.OrganizationName := 'Le nom de votre entreprise'; //facultatif X509Certificate1.OrganizationUnitName := 'Le domaine de votre entreprise'; //facultatif X509Certificate1.commonName := 'votrenomdedomaine.fr'; //obligatoire X509Certificate1.GenerateSelfSigned;
Ce code va générer une clé privée stockée dans le fichier ‘C:\nginx-1.6.2\conf\nginx_key.key’ et un certificat dans ‘C:\nginx-1.6.2\conf\nginx_crt.crt’. Pour le choix de l’algorithme de signature, seulement sa_sha256rsa et sa_rsapss sont supportés. En ce qui concerne la taille de la clé pour l’algorithme de chiffrement, seules 2048 et 4096 bits sont acceptées.
Pour générer un certificat pour nginx, il est important que le champ commonName de votre certificat soit le nom de votre site web.
Configurer nginx sur Windows avec votre certificat
Ouvrez le fichier de configuration de nginx c:\nginx-1.6.2\conf\nginx.conf
Ajoutez les lignes « listen 443 ssl; » et « ssl_certificate », entrez correctement le nom de votre serveur avec le nom de domaine et l’adresse IP locale de votre machine comme dans le code ci-dessous:
server { listen 80; server_name votrenomdedomaine.fr 192.168.40.100 localhost; listen 443 ssl; ssl_certificate C:\nginx-1.6.2\conf\nginx_crt.crt; ssl_certificate_key C:\nginx-1.6.2\conf\nginx_key.key; #charset koi8-r; #access_log logs/host.access.log main;
Ouvrez l’invite de commande en mode administrateur et copiez les commandes ci-dessous:
cd c:\nginx-1.6.2 nginx -s reload
La configuration est normalement terminée, vous pouvez accéder à votre serveur web nginx à l’adresse https://addresse.ip et vous devriez voir votre site web ou la page par défaut de nginx.
Lorsque vous ouvrez votre site web, vous verrez des avertissements que vous devez passer. La raison pour laquelle vous obtenez ces avertissements est que vous avez créé le certificat vous-même et que vous ne l’avez pas obtenu auprès d’une autorité certifiée (CA). Si vous stockez le certificat que vous venez de créer dans votre navigateur alors l’avertissement disparaitra pour votre site.