UiPath Documentation
studio
latest
false
Guide de l'utilisateur de Studio
Important :
La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Signature de paquets

Sign NuGet packages published from Studio using author or repository signing, and sign the assemblies Studio generates, to ensure the security and integrity of processes and libraries.

La signature de paquets est disponible dans le but de garantir la sécurité et l'intégrité des processus et des bibliothèques publiés dans Studio.

NuGet propose deux méthodes de signature des paquets, soit par un auteur, soit par un référentiel.

Application de l’utilisation de packages signés​

Pour appliquer l’utilisation de packages signés, le paramètre signatureValidationMode du fichier Nuget.config doit être défini require. Le fichier se trouve dans %ProgramFiles%\UiPath\Studio. Vous pouvez le définir de deux façons :

  • Pendant l'installation, en installant depuis la ligne de commande avec l'option ENFORCE_SIGNED_EXECUTION=1. Par exemple, la commande suivante installe Studio, un robot en tant que service Windows, et applique l'utilisation de packages signés dans votre environnement UiPath : UiPathStudio.msi ADDLOCAL=DesktopFeature,Studio,Robot,RegisterService ENFORCE_SIGNED_EXECUTION=1.
  • Après l’installation, en modifiant manuellement le fichier Nuget.config. Si vous définissez le paramètre après l’installation, les modifications prendront effet après avoir :
    1. Redémarrez le service de robot UiPath.
    2. supprimé tous les packages .NuGet existants dans %ProgramFiles%\UiPath\Studio\Packages et dans %userprofile%\.nuget\packages.
    3. redémarré Studio/Assistant.

Par défaut, les packages UiPath sont des référentiels et sont signés par l'auteur. Cela signifie que de tels packages peuvent être téléchargés et installés à l’aide de Gérer les packages (Manage Packages) sans devoir effectuer d’autres actions. Pour plus d'informations sur l'ajout des auteurs, des référentiels et/ou des propriétaires approuvés supplémentaires, consultez les autres sections de cette page.

Important :

Lorsque plusieurs flux sont utilisés, NuGet choisit le flux qui répond le plus rapidement. Si l'un des flux n'inclut pas de packages et de dépendances signés, le Robot peut recevoir un package ou une dépendance qui n'est pas signé, provoquant l'échec de l'automatisation. Afin d'éviter cela, assurez-vous que tous les flux configurés ont des packages et des dépendances signés.

Ajout de sources approuvées​

Pour télécharger, installer et exécuter des paquets signés avec un certain certificat, ajoutez celui-ci en tant que source approuvée. Pour ce faire, modifiez le fichier nuget.config dans le dossier d'installation, principalement la section <trustedSigners>.

Ajout d'un auteur approuvé​

Pour ajouter un auteur approuvé, vous devez ouvrir le fichier NuGet.config situé à %ProgramFiles%\UiPath\Studio\NuGet.config. Ensuite, fournissez les certificatefingerprint et hashAlgorithm. Pour obtenir plus d'informations sur l'empreinte digitale du certificat, consultez cette page.

Définissez allowUntrustedRoot sur true ou sur false :

  • allowUntrustedRoot = "true" - le signataire approuvé doit être autorisé à se connecter à une racine non approuvée.
  • allowUntrustedRoot = "false" : le signataire approuvé ne doit pas être autorisé à se connecter à une racine non approuvée.

L'entrée doit être similaire à l'exemple ci-dessous :

<trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners>
<trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners>

Pour plus d'informations sur l'ajout d'UiPath en tant que signataire approuvé, consultez Vérification de la signature des packages dans le guide du Robot.

Ajout d'un référentiel approuvé​

L'ajout d'un référentiel approuvé est assez semblable à l'ajout d'un auteur, à la différence que vous devez ajouter serviceIndex.

Vous trouverez ci-dessous un exemple de référentiel approuvé ajouté au fichier NuGet.config :

<trustedSigners>    
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners>
<trustedSigners>    
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners>

Ajout de propriétaires approuvés​

Un référentiel peut comprendre des paquets signés par plusieurs auteurs. Dans ce cas, la balise <owners> peut être utilisée pour autoriser uniquement l'installation de paquets signés par des auteurs approuvés.

Ajoutez les auteurs approuvés entre les balises <owners>, comme dans l'exemple ci-dessous :

<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners> 
</repository>
</trustedSigners>
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners> 
</repository>
</trustedSigners>

Signature d'un paquet​

  1. En studio, la signature de packages peut se faire à partir de la fenêtre Publier, l’onglet Signature du certificat, tant pour les processus que pour les bibliothèques.

  2. Dans l'onglet Signature du certificat, ajoutez le chemin d'accès du certificat sur votre machine locale. Utilisez le bouton bouton pour naviguer vers le chemin d'accès si nécessaire pour naviguer vers le chemin d'accès si nécessaire. Seuls les formats de fichier de certificat .pfx et .p12 sont acceptés.

  3. En outre, ajoutez le Mot de passe du certificat et un Horodateur de certificat facultatif si nécessaire. Sélectionnez Publier. Le fichier .nupkg résultant est signé avec un certificat et un horodatage, si indiqué.

Résultat​

Le package est publié en tant que fichier .nupkg signé.

Les horodatages sont un moyen sécurisé de suivre la date et l'heure de signature d'un package. Pour en savoir plus sur l'horodatage dans le contexte de la signature de packages NuGet, consultez ce lien.

Si l'horodateur du certificat n'est pas valide, un message d'erreur contenant le nom du projet est généré dans Studio après avoir cliqué sur le bouton Publier (Publish). Un message d'erreur similaire est également consigné dans le panneau Sortie (Output).

Remarque :

Si la vérification de la signature n'est PAS appliquée, les processus créés à l'aide d'une version de Studio antérieure à v2019.4 restent exécutés, qu'ils soient signés ou non.

Utilisez l'outil de ligne de commande de mise à jour groupée pour signer plusieurs packages, puis les publier dans un emplacement.

Remarque :

Une dépendance non signée dans le projet peut empêcher que d’autres dépendances ne soient résolues lors de l’utilisation de la fonction Dépendance de réparation. Supprimez le package non signé du projet pour résoudre les dépendances signées.

Signing Assemblies​

Studio can sign the assemblies it generates for a project with your own code signing certificate, both in published packages and when you run or debug the project. Environments with application control policies that allow only signed code, such as Windows Defender Application Control (WDAC), can then load these assemblies.

Assembly signing requires one of the following signing tools:

  • signtool.exe - Set its path in Sign Tool Path in Settings > Locations, or in the SIGNTOOL_PATH environment variable. Sign Tool Path takes precedence over the environment variable.
  • osslsigncode - Set its path in the OSSLSIGNCODE_PATH environment variable. It is used when signtool is not configured.

Signing the assemblies of a published package​

To sign the assemblies in a package when you publish it, set the signing tool, and then select Sign assemblies in the Publish window. The Sign assemblies option is available only when Sign Tool Path points to an existing file.

  1. In Settings > Locations, set Sign Tool Path to the path of signtool.exe.
  2. In the Publish window, open the Certificate signing tab and enter the certificate details, as described in Signing a Package.
  3. Select Sign assemblies, and then select Publish.

The assemblies in the package are signed with the certificate, password, and timestamper from the Certificate signing tab before the package is created. To pre-fill the certificate path in the Publish window, set Default Publish Certificate in Settings > Locations.

When you publish from the command line, use the --sign-assemblies option together with --cer-path.

Signing assemblies when running and debugging​

To run and debug a project from signed assemblies, set the certificate that Studio uses to sign them. This is available for projects with the Windows and cross-platform compatibility.

  1. In Settings > Locations, set Dynamic DLLs Certificate to the path of a .pfx or .p12 certificate.
  2. Run or debug the project.
  3. In the Certificate Password dialog, enter the password of the certificate.

Studio copies the assemblies compiled for the project to the .local_signed folder, signs them, and runs the project from the signed copies. Only the assemblies that changed since the previous run are signed again. The certificate password is stored in Windows Credential Manager. If you cancel the Certificate Password dialog, the execution does not start. The .local_signed folder is not included in published packages.

Automation Ops policies and the governance file can set the three locations. For details, refer to Governance.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour