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.

Laisser un commentaire