cicd-integrations
2025.10
true
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.
UiPath logo, featuring letters U and I in white

Benutzerhandbuch zu CI/CD-Integrationen

Letzte Aktualisierung 10. Dez. 2025

Signieren von Lösungspaketen

UiPath CLI 25.10 führt die Möglichkeit ein, Pakete von Automatisierungslösungen während des Packvorgangs digital zu signieren. Die Paketsignatur ermöglicht die Überprüfung der Authentizität und stellt sicher, dass Lösungspakete nach der Erstellung nicht manipuliert wurden, wodurch die Sicherheit in Ihrer CI/CD-Pipeline erhöht wird.

Wenn Sie ein Lösungspaket signieren, führt die CLI Folgendes aus:

  1. Erstellt die Lösungspaketdatei .zip
  2. Wendet eine digitale Signatur mithilfe Ihres Zertifikats auf alle Nuget-Pakete in der Datei .zip .
  3. Optional mit Zeitstempeln für die Signatur für langfristige Gültigkeit

Unterstützte Zertifikatstypen

Die CLI unterstützt das Zertifikatsformat PKCS#12 (.pfx).

Wichtig:

Das Zertifikat muss:

  • Fügen Sie einen privaten Schlüssel zum Signieren ein
  • Gültig sein (nicht abgelaufen)
  • Funktionen zum Signieren von Code haben

Parameter

Der Befehl solution pack unterstützt die folgenden Signaturparameter:

ParameterBeschreibungErforderlich
--certificatePathPfad zur Zertifikatsdatei (.pfx)Ja (wenn Signierung)
--certificatePasswordKennwort für die ZertifikatsdateiNein
--timestampServerUrlURL des RFC 3161-ZeitstempelserversNein

Anwendungsbeispiele

Grundlegende Signierung mit Zertifikat
# Windows
uipcli solution pack "C:\Solutions\MyAutomationSolution" `
  -v "1.0.0" `
  -o "C:\Packages" `
  --certificatePath "C:\Certificates\codesign.pfx" `
  --certificatePassword "YourPassword123"

# Linux/macOS
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --certificatePath "./certificates/codesign.pfx" \
  --certificatePassword "YourPassword123"
# Windows
uipcli solution pack "C:\Solutions\MyAutomationSolution" `
  -v "1.0.0" `
  -o "C:\Packages" `
  --certificatePath "C:\Certificates\codesign.pfx" `
  --certificatePassword "YourPassword123"

# Linux/macOS
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --certificatePath "./certificates/codesign.pfx" \
  --certificatePassword "YourPassword123"
Signieren mit dem Zeitstempelserver

Durch Hinzufügen eines Zeitstempels wird sichergestellt, dass die Signatur auch nach Ablauf des Zertifikats gültig bleibt.

uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --certificatePath "./certificates/codesign.pfx" \
  --certificatePassword "YourPassword123" \
  --timestampServerUrl "http://timestamp.digicert.com"
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --certificatePath "./certificates/codesign.pfx" \
  --certificatePassword "YourPassword123" \
  --timestampServerUrl "http://timestamp.digicert.com"
Signieren mit Orchestrator-Bibliotheksabhängigkeiten
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --libraryOrchestratorUrl "https://cloud.uipath.com/" \
  --libraryOrchestratorTenant "Default" \
  -A "myorg" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --libraryOrchestratorApplicationScope "OR.Folders OR.Execution" \
  --libraryOrchestratorFolder "Shared" \
  --certificatePath "./certificates/codesign.pfx" \
  --certificatePassword "YourPassword123" \
  --timestampServerUrl "http://timestamp.digicert.com"
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --libraryOrchestratorUrl "https://cloud.uipath.com/" \
  --libraryOrchestratorTenant "Default" \
  -A "myorg" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --libraryOrchestratorApplicationScope "OR.Folders OR.Execution" \
  --libraryOrchestratorFolder "Shared" \
  --certificatePath "./certificates/codesign.pfx" \
  --certificatePassword "YourPassword123" \
  --timestampServerUrl "http://timestamp.digicert.com"
Signieren mit einem kennwortlosen Zertifikat
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --certificatePath "./certificates/codesign.pfx"
uipcli solution pack "./MyAutomationSolution" \
  -v "1.0.0" \
  -o "./packages" \
  --certificatePath "./certificates/codesign.pfx"
Beispiel für eine CI/CD-Pipeline (GitHub Actions)
- name: Pack and sign solution package
  env:
    CERT_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
    APP_SECRET: ${{ secrets.UIPATH_APP_SECRET }}
  run: |
    uipcli solution pack "./src/MyAutomationSolution" \
      -v "1.0.${{ github.run_number }}" \
      -o "./output" \
      --libraryOrchestratorUrl "https://cloud.uipath.com/" \
      --libraryOrchestratorTenant "Default" \
      -A "myorg" \
      -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
      -S "$APP_SECRET" \
      --libraryOrchestratorApplicationScope "OR.Folders OR.Execution" \
      --certificatePath "./certs/codesign.pfx" \
      --certificatePassword "$CERT_PASSWORD" \
      --timestampServerUrl "http://timestamp.digicert.com"
- name: Pack and sign solution package
  env:
    CERT_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
    APP_SECRET: ${{ secrets.UIPATH_APP_SECRET }}
  run: |
    uipcli solution pack "./src/MyAutomationSolution" \
      -v "1.0.${{ github.run_number }}" \
      -o "./output" \
      --libraryOrchestratorUrl "https://cloud.uipath.com/" \
      --libraryOrchestratorTenant "Default" \
      -A "myorg" \
      -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
      -S "$APP_SECRET" \
      --libraryOrchestratorApplicationScope "OR.Folders OR.Execution" \
      --certificatePath "./certs/codesign.pfx" \
      --certificatePassword "$CERT_PASSWORD" \
      --timestampServerUrl "http://timestamp.digicert.com"
Beispiel für eine Azure DevOps-Pipeline
- task: PowerShell@2
  displayName: 'Pack and Sign Solution'
  env:
    CERT_PASSWORD: $(CertificatePassword)
    APP_SECRET: $(UiPathAppSecret)
  inputs:
    targetType: 'inline'
    script: |
      uipcli solution pack "$(Build.SourcesDirectory)\MyAutomationSolution" `
        -v "$(Build.BuildNumber)" `
        -o "$(Build.ArtifactStagingDirectory)" `
        --libraryOrchestratorUrl "https://cloud.uipath.com/" `
        --libraryOrchestratorTenant "Default" `
        -A "myorg" `
        -I "becc663c-8f1e-409a-a75f-c00330d80bc8" `
        -S "$env:APP_SECRET" `
        --libraryOrchestratorApplicationScope "OR.Folders OR.Execution" `
        --certificatePath "$(Build.SourcesDirectory)\certs\codesign.pfx" `
        --certificatePassword "$env:CERT_PASSWORD" `
        --timestampServerUrl "http://timestamp.digicert.com"
- task: PowerShell@2
  displayName: 'Pack and Sign Solution'
  env:
    CERT_PASSWORD: $(CertificatePassword)
    APP_SECRET: $(UiPathAppSecret)
  inputs:
    targetType: 'inline'
    script: |
      uipcli solution pack "$(Build.SourcesDirectory)\MyAutomationSolution" `
        -v "$(Build.BuildNumber)" `
        -o "$(Build.ArtifactStagingDirectory)" `
        --libraryOrchestratorUrl "https://cloud.uipath.com/" `
        --libraryOrchestratorTenant "Default" `
        -A "myorg" `
        -I "becc663c-8f1e-409a-a75f-c00330d80bc8" `
        -S "$env:APP_SECRET" `
        --libraryOrchestratorApplicationScope "OR.Folders OR.Execution" `
        --certificatePath "$(Build.SourcesDirectory)\certs\codesign.pfx" `
        --certificatePassword "$env:CERT_PASSWORD" `
        --timestampServerUrl "http://timestamp.digicert.com"

Die Verwendung eines Zeitstempelservers wird empfohlen, um sicherzustellen, dass Signaturen nach dem Ablauf des Zertifikats gültig bleiben:

  • http://timestamp.digicert.com – DigiCert
  • http://timestamp.comodoca.com – Sekiertgo (Comodo)
  • http://timestamp.globalsign.com – GlobalSign
  • http://timestamp.sectigo.com – Sekgo

Best Practices

Sicherer Zertifikatspeicher
  • Commit niemals Zertifikate an die Versionskontrolle
  • Verwenden Sie sichere Speicherlösungen:
    • Azure Key Vault
    • AWS Secrets Manager
    • HashiCorp Vault
    • GitHub-Geheimnisse/Sichere Azure DevOps-Dateien
    • Verwaltung von geheimen Schlüsseln der CI/CD-Plattform
Zeitstempelnutzung
  • Verwenden Sie in Produktionsumgebungen immer einen Zeitstempelserver
  • Zeitstempel stellen die Gültigkeit der Signatur über den Ablauf des Zertifikats hinaus sicher
Zertifikatverwaltung
  • Verwenden Sie dedizierte Codesignaturzertifikate
  • Zertifikate vor ihrem Ablauf rotieren
  • Bewahren Sie Zertifikatsicherungen sicher auf

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo
Vertrauen und Sicherheit
© 2005–2025 UiPath. Alle Rechte vorbehalten