Signature numérique d'un fichier binaire (ObjectARX ou Managed .NET) avec un événement post-build dans Microsoft Visual Studio

Un événement post-build est une action qui se produit une fois qu'un projet a été généré. Vous pouvez utiliser un événement post-build pour signer numériquement un fichier binaire (ObjectARX ou Managed .NET) une fois qu'il a été généré. La procédure permet d'ajouter un événement post-build qui utilise l'outil SignTool.exe du kit de développement logiciel (SDK) Windows pour signer numériquement le fichier cible d'un projet.

Pour plus d'informations sur l'utilisation de l'outil SignTool.exe, reportez-vous à la rubrique "Signature numérique d'un fichier binaire (ObjectARX ou Managed .NET)".

Remarque : La présence de caractères spéciaux dans le nom d'un projet ou un chemin de dossier peut entraîner des problèmes avec l'outil SignTool.exe ou d'autres programmes exécutés dans le cadre d'un événement post-build.

Visual Basic

  1. Dans Microsoft Visual Studio, accédez à l'Explorateur de solutions, cliquez sur un projet avec le bouton droit de la souris et choisissez Propriétés.
  2. Sur la page Propriétés, cliquez sur l'onglet Compiler.
  3. Faites défiler l'écran jusqu'au bas de la page, puis cliquez sur Evénements de build.
  4. Dans la boîte de dialogue Événements de build, cliquez sur Modifier post-build.
  5. Dans la boîte de dialogue Ligne de commande de l'événement post-build, entrez l'instruction qui exécute l'outil SignTool.exe, ainsi que les arguments qu'il doit utiliser.

    L'exemple de code suivant permet de signer le fichier cible du projet à l'aide d'un certificat numérique protégé par mot de passe stocké dans le fichier MyCert.pfx sous le dossier Autodesk :

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Conseil : Cliquez sur Macro pour ajouter des macros aux instructions de la ligne de commande à exécuter.

    Les macros $(TargetDir) et $(TargetFileName) permettent de spécifier dynamiquement le dossier cible et le nom de fichier de génération dans les programmes de ligne de commande à exécuter dans le cadre de l'événement post-build.

  6. Cliquez sur OK pour fermer la boîte de dialogue Ligne de commande de l'événement post-build.
  7. Dans la boîte de dialogue Evénements de build, cliquez sur la liste déroulante Exécuter l'événement post-build et sélectionnez En cas de génération réussie.
  8. Cliquez sur OK pour enregistrer l'événement post-build.
  9. Générez le projet de nouveau pour tester l'événement post-build.

    La fenêtre de résultat affiche des informations indiquant si l'événement post-build s'est terminé avec succès.

    PostBuildEvent:
      "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll"
      Done Adding Additional Store
      Successfully signed: C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll

Visual C#

  1. Dans Microsoft Visual Studio, accédez à l'Explorateur de solutions, cliquez sur un projet avec le bouton droit de la souris et choisissez Propriétés.
  2. Sur la page Propriétés, cliquez sur l'onglet Evénements de build.
  3. Faites défiler l'écran jusqu'au bas de la page, puis cliquez sur Modifier post-build.
  4. Dans la boîte de dialogue Ligne de commande de l'événement post-build, entrez l'instruction qui exécute l'outil SignTool.exe, ainsi que les arguments qu'il doit utiliser.

    L'exemple de code suivant permet de signer le fichier cible du projet à l'aide d'un certificat numérique protégé par mot de passe stocké dans le fichier MyCert.pfx sous le dossier Autodesk :

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Conseil : Cliquez sur Macro pour ajouter des macros aux instructions de la ligne de commande à exécuter.

    Les macros $(TargetDir) et $(TargetFileName) permettent de spécifier dynamiquement le dossier cible et le nom de fichier de génération dans les programmes de ligne de commande à exécuter dans le cadre de l'événement post-build.

  5. Cliquez sur OK pour fermer la boîte de dialogue Ligne de commande de l'événement post-build.
  6. Sur la page Propriétés, cliquez sur la liste déroulante Exécuter l'événement post-build et sélectionnez En cas de génération réussie.
  7. Générez le projet de nouveau pour tester l'événement post-build.

    La fenêtre de résultat affiche des informations indiquant si l'événement post-build s'est terminé avec succès.

    PostBuildEvent:
      "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll"
      Done Adding Additional Store
      Successfully signed: C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.dll

Visual C++

  1. Dans Microsoft Visual Studio, accédez à l'Explorateur de solutions, cliquez sur un projet avec le bouton droit de la souris et choisissez Propriétés.
  2. Dans la boîte de dialogue Page de propriétés, cliquez sur la liste déroulante Configuration et sélectionnez Toutes les configurations.
  3. Développez Propriétés de configuration Evénements de build, puis choisissez Evénement post-build.
  4. Sur la page Evénement post-build, cliquez sur le champ Ligne de commande. Cliquez sur la liste déroulante et sélectionnez <Modifier...>.
  5. Dans la boîte de dialogue Ligne de commande, entrez l'instruction qui exécute l'outil SignTool.exe, ainsi que les arguments qu'il doit utiliser.

    L'exemple de code suivant permet de signer le fichier cible du projet à l'aide d'un certificat numérique protégé par mot de passe stocké dans le fichier MyCert.pfx sous le dossier Autodesk :

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Conseil : Cliquez sur Macro pour ajouter des macros aux instructions de la ligne de commande à exécuter.

    Les macros $(TargetDir) et $(TargetFileName) permettent de spécifier dynamiquement le dossier cible et le nom de fichier de génération dans les programmes de ligne de commande à exécuter dans le cadre de l'événement post-build.

  6. Cliquez sur OK pour fermer la boîte de dialogue Ligne de commande.
  7. Sur la page de propriétés, cliquez sur le champ Utilisation dans la génération. Cliquez sur la liste déroulante et sélectionnez Oui.
  8. Cliquez sur OK pour enregistrer l'événement post-build.
  9. Générez le projet de nouveau pour tester l'événement post-build.

    La fenêtre de résultat affiche des informations indiquant si l'événement post-build s'est terminé avec succès.

    1>PostBuildEvent:
    1>  Done Adding Additional Store
    1>  Successfully signed: C:\Autodesk\AdskUtils\bin\x64\Release\AdskUtils.arx