PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Présentation
  • Créer un certificat auto-signé
  • 1. Télécharger et installer la bibliothèque OpenSSL compilée pour Windows
  • 2. Configurer OpenSSL
  • 3. Créer une autorité de certification
  • 4. Créer un certificat serveur utilisable avec la fonction SocketCréeSSL
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Création d'un certificat SSL utilisable avec SocketCréeSSL
Présentation
Pour créer un serveur SSL avec la fonction SocketCréeSSL, il faut utiliser un certificat signé contenant une clé privée.
Plusieurs solutions peuvent être mises en oeuvre :
  • Obtenir un certificat SSL auprès d'une autorité de certification reconnue (par exemple thawte ou verisign). Nous vous conseillons de contacter ces organismes pour obtenir la marche à suivre. Ce certificat pourra être utilisé par exemple pour une application en exploitation.
  • Créer un certificat auto-signé. Ce certificat pourra être utilisé pour test et / ou pour une application en exploitation. Pour cela, il est nécessaire d'utiliser la bibliothèque open source OpenSSL.
Créer un certificat auto-signé

1. Télécharger et installer la bibliothèque OpenSSL compilée pour Windows

Vous trouverez plus de détails sur la page suivante : https://www.openssl.org/community/binaries.html
Dans la suite de ce document, on supposera que :
  • OpenSSL est installé dans le répertoire <RepInstallOpenSSL>
  • un moteur PERL est installé sur le poste (des moteurs PERL gratuits sont téléchargeables sur Internet).

2. Configurer OpenSSL

  • Editez la fichier <RepInstallOpenSSL>/bin/CA.pl
  • Remplacez la ligne :
    $CATOP="/.demoCA":
    par :
    $CATOP="./<MONAUTORITE>";
  • Editez le fichier OpenSSL.cfg
  • Remplacez la ligne :
    [CA_defaut]
    dir = ./demoCA       # Where everything is kept

    par :
    [CA_defaut]
    dir = ./<MONAUTORITE>       # Where everything is kept

3. Créer une autorité de certification

Une autorité de certification est une entité ayant le pouvoir de signer des certificats. Le client doit installer le certificat de l'autorité de certification dans les sociétés dites "de confiance" pour que tous les certificats signés par cette autorité et ne présentant pas de défaut soient acceptables.
  • Ouvrir une ligne de commande (exécuter cmd).
  • Se positionner dans le répertoire <RepInstallOpenSSL>/bin
  • Saisir :
    CA.pl -newca
  • Appuyez sur la touche Entrée pour créer une nouvelle CA.
  • Saisissez le mot de passe de la clé privée (2 fois). Ce mot de passe est obligatoire.
  • Saisissez les informations relatives à l'autorité de certification en cours de création.
    • Le pays
    • L'état / la région
    • La ville
    • La société
    • Le service
    • Le nom de l'autorité de certification
    • Une adresse email
    • Un mot de passe à fournir lors de la demande de certificat : comme il s'agit d'un certificat auto-signé, aucun mot de passe n'est nécessaire. Validez sans rien saisir.
    • Un nom de société
    Enfin, il faut saisir à nouveau le mot de passe que vous avez entré précédemment.
  • A l'issue du script, le sous-répertoire <MONAUTORITE> a été créé dans le répertoire./bin de OpenSSL. Dans ce répertoire vous trouverez :
    ./cacert.pem (la partie publique du certificat qui servira à signer les autres).<br>
    ./private/cakey.pem (la clé privée).
  • Copiez le fichier "./cacert.pem" et le renommer en cacert.crt. Ce fichier devra être installé sur toutes les machines qui utilisent des sockets se connectant à des serveurs dont le certificat aura été signé par cette autorité.

4. Créer un certificat serveur utilisable avec la fonction SocketCréeSSL

Le certificat serveur est un certificat contenant une clé privée et une clé publique, le tout signé par une autorité de certification reconnue (créée à l'étape précédente).
  • Créez une demande de certificat. Dans la ligne de commande, tapez :
    CA.pl -newreq

    Tapez Entrée et saisissez les informations suivantes :
    • Un mot de passe pour le certificat (note : Ce mot de passe devra être saisi pour importer le certificat dans Windows).
      Ce mot de passe est obligatoire, il doit faire entre 4 et 500 caractères.
    • Le pays.
    • L'état / la région.
    • La ville.
    • La société.
    • Le service.
    • Le nom complet du serveur sur lequel sera installé le certificat.
    • Une adresse email.
    • Un mot de passe à fournir lors de la demande de certificat : comme il s'agit d'un certificat auto-signé, aucun mot de passe n'est nécessaire. Validez sans rien saisir.
    • Un nom de société.
    Deux fichiers sont alors créés dans le répertoire <RepInstallOpenSSL>/bin : newreq.pem et newreq.key.
  • Signez la demande avec l'autorité créée dans la ligne de commande :
    CA.pl -sign

    Le mot de passe de l'autorité de certification est demandé. Validez la signature et l'enregistrement en répondant "y" aux deux questions suivantes.
    Le fichier <RepInstallOpenSSL>/bin/newcert.pem est créé.
  • Créez le certificat complet :
    • Dans la ligne de commande, tapez :
      CA.pl -pkcs12 "nom d'usage"
    • Puis, répondez aux questions en spécifiant :
      • Le mot de passe de l'autorité de certification.
      • Un mot de passe d'export : ce mot de passe sera demandé lors d'un export du certificat depuis le magasin des certificats.
      Le fichier newcert.p12 est créé dans le répertoire <RepInstallOpenSSL>/bin. C'est ce fichier qu'il faut installer sur la machine serveur. Pour cela, il suffit de :
      1. Copier le certificat sur le poste.
      2. Double-cliquer sur ce fichier. Le certificat installé sera visible dans le gestionnaire de certificats (certmgr.msc).
        Attention : L'installation du certificat doit être réalisée avec le compte utilisateur de l'application ou du service qui va l'utiliser.
Lors de l'installation, ne pas cocher la case "Activer la sécurité renforcée" : si cette option est cochée, le mot de passe de la clé privée sera demandé à chaque appel de la fonction SocketCrée.
Version minimum requise
  • Version 12
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire