Come apporre la firma digitale in un file binario (ObjectARX o .NET gestito) con un evento di post-compilazione in Microsoft Visual Studio

Un evento di post-compilazione è un'operazione che si verifica dopo che un progetto è stato creato. È possibile utilizzare un evento di post-compilazione per apporre la firma digitale in un file binario (ObjectARX o .NET gestito) dopo che è stato creato. Nella procedura seguente viene illustrato come aggiungere un evento di post-compilazione che utilizza lo strumento SignTool.exe di Windows SDK per apporre la firma digitale in un file di destinazione di un progetto.

Per ulteriori informazioni sull'utilizzo dello strumento SignTool.exe, vedere "Come apporre la firma digitale in un file binario (ObjectARX o .NET gestito)".

Nota: Caratteri speciali nel nome di un progetto o nel percorso di una cartella possono causare problemi con lo strumento SignTool.exe o altri programmi eseguiti come parte di un evento di post-compilazione.

Visual Basic

  1. In Microsoft Visual Studio, in Esplora soluzioni, fare clic con il pulsante destro su un progetto e scegliere Proprietà.
  2. Nella pagina Proprietà, fare clic sulla scheda Compila.
  3. Scorrere verso la parte inferiore della pagina e fare clic su Eventi di compilazione.
  4. Nella finestra di dialogo Eventi di compilazione, fare clic su Modifica post-compilazione.
  5. Nella finestra di dialogo Riga di comando eventi post-compilazione, digitare l'istruzione che esegue lo strumento SignTool.exe e gli argomenti che dovrebbe utilizzare.

    Di seguito viene illustrato un esempio di firma del file di destinazione del progetto con un certificato digitale protetto da password memorizzato nel file MyCert.pfx nella cartella Autodesk:

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Suggerimento: Fare clic su Macro per aggiungere macro alle istruzioni della riga di comando da eseguire.

    $(TargetDir) e $(TargetFileName) sono le macro che consentono di specificare in modo dinamico il nome file e la cartella di destinazione della compilazione come parte dei programmi della riga di comando da eseguire come parte dell'evento di post-compilazione.

  6. Fare clic su OK per chiudere la finestra di dialogo Riga di comando eventi post-compilazione.
  7. Nella finestra di dialogo Eventi di compilazione, fare clic sull'elenco a discesa Esegui evento post-compilazione e selezionare A compilazione completata.
  8. Fare clic su OK per salvare l'evento di post-compilazione.
  9. Creare nuovamente il progetto per verificare l'evento di post-compilazione.

    La finestra Output visualizzerà le informazioni che indicano se l'evento di post-compilazione è stato completato correttamente.

    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. In Microsoft Visual Studio, in Esplora soluzioni, fare clic con il pulsante destro su un progetto e scegliere Proprietà.
  2. Nella pagina Proprietà, fare clic sulla scheda Eventi di compilazione.
  3. Scorrere verso la parte inferiore della pagina e fare clic su Modifica post-compilazione.
  4. Nella finestra di dialogo Riga di comando eventi post-compilazione, digitare l'istruzione che esegue lo strumento SignTool.exe e gli argomenti che dovrebbe utilizzare.

    Di seguito viene illustrato un esempio di firma del file di destinazione del progetto con un certificato digitale protetto da password memorizzato nel fileMyCert.pfx nella cartella Autodesk:

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Suggerimento: Fare clic su Macro per aggiungere macro alle istruzioni della riga di comando da eseguire.

    $(TargetDir) e $(TargetFileName) sono le macro che consentono di specificare in modo dinamico il nome file e la cartella di destinazione della compilazione come parte dei programmi della riga di comando da eseguire come parte dell'evento di post-compilazione.

  5. Fare clic su OK per chiudere la finestra di dialogo Riga di comando eventi post-compilazione.
  6. Nella pagina Proprietà, fare clic sull'elenco a discesa Esegui evento post-compilazione e selezionare A compilazione completata.
  7. Creare nuovamente il progetto per verificare l'evento di post-compilazione.

    La finestra Output visualizzerà le informazioni che indicano se l'evento di post-compilazione è stato completato correttamente.

    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. In Microsoft Visual Studio, in Esplora soluzioni, fare clic con il pulsante destro su un progetto e scegliere Proprietà.
  2. Nella finestra di dialogo Pagina delle proprietà, fare clic sull'elenco a discesa Configurazione e selezionare Tutte le configurazioni.
  3. Espandere Proprietà di configurazione Eventi di compilazione e fare clic su Evento di post-compilazione.
  4. Nella pagina Evento di post-compilazione, fare clic sul campo Riga di comando. Fare clic sull'elenco a discesa e selezionare <Modifica...>.
  5. Nella finestra di dialogo Riga di comando, digitare l'istruzione che esegue lo strumento SignTool.exe e gli argomenti che dovrebbe utilizzare.

    Di seguito viene illustrato un esempio di firma del file di destinazione del progetto con un certificato digitale protetto da password memorizzato nel file MyCert.pfx nella cartella Autodesk:

    "C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /f "C:\Autodesk\MyCert.pfx" /p MyPassword "$(TargetDir)$(TargetFileName)"
    Suggerimento: Fare clic su Macro per aggiungere macro alle istruzioni della riga di comando da eseguire.

    $(TargetDir) e $(TargetFileName) sono le macro che consentono di specificare in modo dinamico il nome file e la cartella di destinazione della compilazione come parte dei programmi della riga di comando da eseguire come parte dell'evento di post-compilazione.

  6. Fare clic su OK per chiudere la finestra di dialogo Riga di comando.
  7. In Pagina delle proprietà, fare clic sul campo Usa in compilazione. Fare clic sull'elenco a discesa e selezionare Sì.
  8. Fare clic su OK per salvare l'evento di post-compilazione.
  9. Creare nuovamente il progetto per verificare l'evento di post-compilazione.

    La finestra Output visualizzerà le informazioni che indicano se l'evento di post-compilazione è stato completato correttamente.

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