DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV, WEBDEV et WINDEV Mobile 2025 !
Aide / Editeurs / Editeur de projet
  • Présentation
  • Le coffre-fort et ses chaînes secrètes
  • Accès au coffre-fort
  • Contenu du coffre-fort
  • Utilisation des chaînes secrètes
  • Comment le faire ?
  • Créer un coffre-fort
  • Créer un mot de passe secondaire
  • Définir des chaînes secrètes
  • Utiliser les chaînes secrètes dans le code
  • Détecter les fonctions WLangage nécessitant des chaînes secrètes
  • Utiliser des chaînes secrètes
  • Variable de type ChaîneSecrète
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Coffre-fort de chaînes secrètes
Présentation
Il arrive souvent que des mots de passe, des clés privées, des tokens soient utilisés en programmation. Par exemple :
  • mot de passe de connexion à une base de données.
  • mot de passe d'un fichier de données.
  • mot de passe du compte pour envoi d'email.
  • token OAuth.
  • mot de passe d'une feuille de tableur.
  • mot de passe d'un document Word.
  • etc.
Pour des raisons évidentes de sécurité, il ne faut pas laisser ces éléments en clair dans le code source.
Pour éviter d'avoir à mettre en place des mécanismes de sécurité personnels ou tiers, WINDEV, WEBDEV et WINDEV Mobile proposent en standard un coffre-fort à chaînes secrètes.
Le coffre-fort et ses chaînes secrètes

Accès au coffre-fort

Pour accéder au coffre-fort et modifier son contenu, il faut :
  • soit utiliser le mot de passe maître.
    Ce mot de passe est défini à la création du coffre-fort. Ce mot de passe maître identifie le créateur du coffre-fort comme son propriétaire et permet de crypter le contenu des chaînes secrètes.
    Avertissement
    Les chaînes secrètes sont cryptées à partir du mot de passe maître. La perte de ce mot de passe entraîne la perte du contenu des données secrètes.
    L'accès au coffre-fort avec le mot de passe maître permet de créer des mots de passe secondaires. Un mot de passe secondaire permet par exemple à des collaborateurs de confiance d'accéder au contenu du coffre-fort.
  • soit utiliser un mot de passe secondaire.
    L'accès au coffre-fort avec un mot de passe secondaire permet comme le mot de passe maître de créer, modifier, supprimer des chaînes secrètes. Cependant, il ne permet pas de créer de nouveaux mots de passe secondaires.
    Attention : Les mots de passe secondaires doivent être accordés à des utilisateurs de "confiance" car ces derniers peuvent manipuler les données présentes dans le coffre-fort sans restriction, notamment visualiser les mots de passe et les modifier.

Contenu du coffre-fort

Le coffre-fort contient des chaînes secrètes. Ces chaînes secrètes sont constituées :
  • d'un identifiant. Cet identifiant permet d'utiliser le contenu de la chaîne secrète en paramètre des fonctions WLangage.
  • d'un contenu secret. Ce contenu secret sera utilisé lors de l'exécution de l'application. Ce contenu secret sera crypté à l'aide du mot de passe maître. Ce contenu est visible et modifiable dans le coffre-fort uniquement si un mot de passe (maître ou secondaire) est utilisé.
  • d'un contenu pour test. Ce contenu sera utilisé lors des tests de l'application. Ce contenu pour test reste lisible par tous les utilisateurs du coffre-fort.
Tout développeur du projet peut accéder au contenu du coffre-fort :
  • le contenu secret sera masqué.
  • le contenu pour test sera visible.

Utilisation des chaînes secrètes

Les chaînes secrètes peuvent être utilisées directement dans le code WLangage. Si un des paramètres de la fonction en cours de saisie sous l'éditeur de code accepte une chaîne secrète, la saisie assistée liste les différentes chaînes secrètes présentes dans le coffre-fort du projet (ou de la collection de procédures).
Lors du test d'un projet (en Go), le contenu pour test des chaînes secrètes sera utilisé par défaut.
Lors de la création de l'exécutable, il est nécessaire de déverrouiller le coffre-fort pour utiliser les contenus secrets. Le mot de passe maître (ou un des mots de passe secondaires) est alors demandé.
Comment le faire ?
Un coffre-fort peut être créé :
  • sur un projet,
  • sur une collection de procédures. Dans ce cas, le coffre-fort pourra être partagé entre plusieurs projet via le GDS.

Créer un coffre-fort

Pour créer un coffre-fort à mots de passe sur un projet :
  1. Sous le volet "Projet", dans le groupe "Projet", cliquez sur "Coffre-fort". L'assistant de création d'un coffre-fort s'affiche.
  2. Dans l'assistant, définissez le mot de passe "Maître". Ce mot de passe permet d'identifier le créateur du coffre-fort. Conserver ce mot de passe précieusement.
  3. Validez.
La fenêtre de gestion du coffre-fort du projet est affichée.
Pour créer un coffre-fort à mots de passe sur une collection de procédures :
  1. Dans le volet "Explorateur de projet", sélectionnez la procédure globale.
  2. Affichez le menu contextuel de la procédure globale et sélectionnez l'option "Propriétés".
  3. Dans la fenêtre qui s'affiche, cliquez sur "Accéder au Coffre-fort". L'assistant de création d'un coffre-fort s'affiche.
  4. Dans l'assistant, définissez le mot de passe "Maître". Ce mot de passe permet d'identifier le créateur du coffre-fort. Conserver ce mot de passe précieusement.
  5. Validez.
La fenêtre de gestion du coffre-fort associé à la collection de procédures est affichée.

Créer un mot de passe secondaire

Pour créer un mot de passe secondaire pour un coffre-fort :
  1. Ouvrez le coffre-fort :
    • Pour le coffre-fort du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Coffre-fort". La fenêtre de gestion du coffre-fort est affichée.
    • Pour le coffre-fort d'une collection de procédures : affichez les propriétés de la collection de procédure depuis le volet "Explorateur de projet" et cliquez sur "Accéder au coffre-fort".
  2. Cliquez sur le volet "Mots de passe secondaires".
  3. Ajoutez un mot de passe secondaire (bouton "+").
  4. Dans la nouvelle ligne du tableau, indiquez le mot de passe et si nécessaire des informations spécifiques (nom de la personne ou de l'équipe concernée par exemple).
Remarques :
  • Le bouton xxx permet de générer un mot de passe automatiquement.
  • Le bouton "Modifier le mot de passe maître" permet de réinitialiser le coffre-fort : les chaînes secrètes seront vidées (leur contenu sera effacé) et les mots de passe secondaires seront supprimés.

Définir des chaînes secrètes

Pour définir des chaînes secrètes dans un coffre-fort :
  1. Ouvrez le coffre-fort :
    • Pour le coffre-fort du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Coffre-fort". La fenêtre de gestion du coffre-fort est affichée.
    • Pour le coffre-fort d'une collection de procédures : affichez les propriétés de la collection de procédure depuis le volet "Explorateur de projet" et cliquez sur "Accéder au coffre-fort".
  2. Cliquez sur "+".
  3. Dans la nouvelle ligne du tableau, indiquez :
    • l'identifiant : cet identifiant sera utilisé par les utilisateurs dans le code WLangage pour spécifier le mot de passe à utiliser. Indiquez un nom parlant.
    • le contenu de la chaîne secrète, c'est-à-dire le mot de passe en lui-même.
    • le type de la chaîne secrète. Ce type dépend de l'utilisation qui va être faite de la chaîne secrète (la fonction WLangage qui va l'utiliser).
Remarque : L'icône xx permet de visualiser le contenu des chaînes secrètes. Cette fonctionnalité nécessite la saisie d'un mot de passe (mot de passe maître ou secondaire).
Utiliser les chaînes secrètes dans le code

Détecter les fonctions WLangage nécessitant des chaînes secrètes

Pour identifier dans votre code les fonctions WLangage nécessitant l'utilisation d'une chaîne secrète, il est possible d'activer une option de norme de programmation :
  1. Affichez la fenêtre de description du projet : sous le volet "Projet", dans le groupe "Projet", cliquez sur "Description".
  2. Dans l'onglet "Compilation", cochez l'option "Signaler les chaînes qui devraient être secrètes".
  3. Validez.
Les erreurs correspondant à cette option de la norme de programmation seront affichées dans le volet des erreurs de compilation.
Pour afficher les erreurs de norme de programmation depuis le volet des erreurs de compilation :
  1. Affichez le volet des erreurs de compilation : sous le volet "Accueil", dans le groupe "Environnement", déroulez "Volets" et sélectionnez "Volets" puis "Erreurs de compilation".
  2. Cliquez sur l'icône Erreur de norme de programmation.

Utiliser des chaînes secrètes

Pour utiliser des chaînes secrètes dans le code WLangage, il suffit de saisir l'identifiant de la chaîne secrète dans les paramètres attendant une chaîne secrète.
Par exemple :
  • Le chaîne secrète MdpConnexionHFSQL a été définie dans le coffre-fort.
  • Le code de connexion à la base de données est le suivant :
    MaConnexion est une Connexion
    // Description de la connexion
    MaConnexion.Utilisateur = "USER" 
    MaConnexion.MotDePasse = MdpConnexionHFSQL 
    MaConnexion.Serveur = "MONSERVEUR" 
    MaConnexion.BaseDeDonnées = "Base de données" 
    MaConnexion.Provider = hAccèsHFClientServeur 
    MaConnexion.Accès = hOLectureEcriture 
    MaConnexion.InfosEtendues = "Infos étendues" 
    MaConnexion.OptionsCurseur = hCurseurClient 
    HOuvreConnexion(MaConnexion)

Variable de type ChaîneSecrète

Il est également possible d'utiliser une variable de type ChaîneSecrète pour manipuler les chaînes secrètes. Ainsi, le code suivant permet d'utiliser un mot de passe différent en mode test :
s est une ChaîneSecrète
SI EnModeTest ALORS
	s = BaseHFSQL_Tests
SINON
	s = BaseHFSQL_Production
FIN

HPasse("*", s)
Version minimum requise
  • Version 2025
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 28/11/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale