Das Signieren von Paketen steht zur Verfügung, um die Sicherheit und Integrität der von Studio veröffentlichten Prozesse und Bibliotheken zu gewährleisten.
NuGet bietet zwei Möglichkeiten, Pakete zu signieren, entweder durch einen Autor oder ein Repository.
Erzwingen der Verwendung signierter Pakete
Zum Erzwingen der Verwendung von signierten Paketen muss der Parameter signatureValidationMode
in der Datei Nuget.config
auf require
festgelegt werden. Die Datei befindet sich unter %ProgramFiles%\UiPath\Studio
. Sie können dies auf zwei Arten tun:
- During installation, by installing from the command line with the option
ENFORCE_SIGNED_EXECUTION=1
.
Beispielsweise installiert der folgende Befehl Studio sowie einen Roboter als Windows-Dienst und erzwingt die Nutzung signierter Pakete in Ihrer UiPath-Umgebung:UiPathStudio.msi ADDLOCAL=DesktopFeature,Studio,Robot,RegisterService ENFORCE_SIGNED_EXECUTION=1
. - Nach der Installation durch manuelles Bearbeiten der
Nuget.config
-Datei.
Wenn Sie den Parameter nach der Installation festlegen, müssen Sie Folgendes tun, bevor die Änderungen wirksam werden:- Starten Sie den UiPath-Roboterdienst erneut.
- Entfernen Sie alle vorhandenen .NuGet-Pakete aus
%ProgramFiles%\UiPath\Studio\Packages
und%userprofile%\.nuget\packages
. - Starten Sie Studio/Assistant neu.
Standardmäßig werden UiPath-Pakete von einem Repository und Autor signiert. Das bedeutet, dass solche Pakete über Pakete verwalten heruntergeladen und installiert werden können, ohne zusätzliche Aktionen ausführen zu müssen. Weitere Informationen zum Hinzufügen weiterer vertrauenswürdiger Autoren, Repositorys und/oder Besitzer finden Sie in den folgenden Abschnitten auf dieser Seite.
Hinweis:
Wenn mehrere Feeds verwendet werden, wählt NuGet den Feed aus, der am schnellsten reagiert. Wenn einer der Feeds keine signierten Pakete und Abhängigkeiten enthält, erhält der Roboter möglicherweise ein Paket oder eine Abhängigkeit, die nicht signiert ist, was dazu führt, dass die Automatisierung fehlschlägt. Um dies zu vermeiden, stellen Sie sicher, dass bei allen konfigurierten Feeds Pakete und Abhängigkeiten signiert sind.
Adding Trusted Sources
Um Pakete herunterzuladen, zu installieren und auszuführen, die mit einem bestimmten Zertifikat signiert sind, fügen Sie das Zertifikat als vertrauenswürdige Quelle hinzu Dazu müssen Sie die Datei nuget.config
im Installationsordner, und zwar hauptsächlich den Abschnitt <trustedSigners>
, ändern.
Hinzufügen eines vertrauenswürdigen Autors
To add a trusted author, you need to open the NuGet.config
file located at %ProgramFiles%\UiPath\Studio\NuGet.config
. Then, provide the certificatefingerprint
and hashAlgorithm
. Check this page to get more information about the certificate fingerprint.
Setzen Sie allowUntrustedRoot
auf true
oder false
:
allowUntrustedRoot = "true"
– Vertrauenswürdige Unterzeichner können sich mit einem nicht vertrauenswürdigen Stamm verketten.allowUntrustedRoot = "false"
– Vertrauenswürdige Unterzeichner können sich nicht mit einem nicht vertrauenswürdigen Stamm verketten.
Die Eingabe sollte wie im nachfolgenden Beispiel aussehen:
<trustedSigners>
<author name="UiPath">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true"/>
</author>
</trustedSigners>
For more information on adding UiPath as a trusted signer, see Package Signature Verification in the Robot guide.
Hinzufügen eines vertrauenswürdigen Repositorys
Beim Hinzufügen eines vertrauenswürdigen Repositorys gehen Sie ungefähr so wie beim Hinzufügen eines Autors vor, nur mit dem Unterschied, dass serviceIndex
ebenfalls hinzugefügt werden muss.
Im nachstehenden Beispiel wird ein vertrauenswürdiges Repository zur Datei NuGet.config
hinzugefügt:
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
</repository>
</trustedSigners>
Hinzufügen vertrauenswürdiger Eigentümer
Ein Repository kann mehrere vom Autor signierte Pakete aufweisen. In diesem Fall kann das <owners>
-Tag dazu verwendet werden, nur Pakete zum Installieren zuzulassen, die von vertrauenswürdigen Autoren signiert wurden.
Fügen Sie die vertrauenswürdigen Autoren zwischen den <owners>
-Tags hinzu, wie im folgenden Beispiel veranschaulicht.
<trustedSigners>
<repository name="UiPath Repository" serviceIndex="https://uipath.repository">
<certificate fingerprint="1234512345123451234512345123123123123123123123123123112312312E5" hashAlgorithm="SHA256" allowUntrustedRoot="true" />
<owners>Author1;Author2</owners>
</repository>
</trustedSigners>

Signieren von Paketen
- In Studio kann die Paketsignatur sowohl für Prozesse als auch für Bibliotheken über das Fenster Veröffentlichen oder die Registerkarte Zertifikatsignatur erfolgen.

-
Fügen Sie im Abschnitt Zertifikatsignatur den Zertifikatspfad auf Ihrer lokalen Maschine hinzu. Navigieren Sie mit der Schaltfläche
zum Pfad, falls erforderlich.
-
Geben Sie als nächstes das Zertifikatkennwort ein, und fügen Sie ggf. einen optionalen Zertifikatszeitstempel hinzu. Klicken Sie auf Veröffentlichen. Die resultierende
.nupkg
-Datei ist mit einem Zertifikat und einem Zeitstempel signiert, wenn ein solcher angegeben wurde.
Timestamps are a secure way of keeping track of the date and time when a package was signed. To learn more about timestamping in the context of NuGet package signing, check out this link.
Ist der Zeitstempel des Zertifikats ungültig, wird in Studio eine Fehlermeldung mit dem Projektnamen ausgegeben, nachdem Sie auf die Schaltfläche Veröffentlichen geklickt haben. Im Ausgabebereich wird eine Fehlermeldung protokolliert.
Hinweis:
Vor Version 2019.4 mit Studio erstellte Prozesse werden noch ausgeführt, egal ob signiert oder nicht, falls die Signaturverifizierung NICHT erzwungen wird.
Use the Mass Update Command Line tool to sign multiple packages and then publish them to a location.
Hinweis:
Eine nicht signierte Abhängigkeit im Projekt kann verhindern, dass andere Abhängigkeiten aufgelöst werden, wenn die Funktion Abhängigkeit reparieren verwendet wird. Entfernen Sie das nicht signierte Paket aus dem Projekt, um signierte Abhängigkeiten aufzulösen.
Vor etwa einem Monat aktualisiert