# Azure Artifact Signing: Zugangsdaten

Die Plattform signiert Windows-Builds mit deinem Service Principal und Zertifikatsprofil aus Azure, deren Werte du einmal für die Organisation hinterlegst.

> Source: https://www.application-platform.com/de/docs/azure-artifact-signing-credentials/

Nach der [Einrichtung in Azure]({{< relref "azure-artifact-signing-setup" >}}) trägst du sechs Werte, optional sieben, in die Plattform ein. Der Service Principal braucht die Rolle **Artifact Signing Certificate Profile Signer**.

## Werte aus der App Registration

1. Öffne im [Azure-Portal](https://portal.azure.com/) **Microsoft Entra ID** → **App registrations** und wähle die App Registration für die Signierung.
2. Kopiere unter **Overview** die **Directory (tenant) ID** und die **Application (client) ID**.
3. Wechsle zu **Certificates & secrets** → **Client secrets**. Wenn du den Value des vorhandenen Secrets nicht mehr hast, erzeuge mit **New client secret** ein neues; Azure zeigt den **Value** nur direkt nach dem Anlegen an.

## Werte aus dem Artifact Signing Account

1. Öffne im Azure-Portal die Ressource vom Typ Artifact Signing (bzw. Code Signing).
2. Kopiere unter **Overview** den **Name** und den **Endpoint**. Der Endpoint folgt der Region des Accounts, für West Europe lautet er `https://weu.codesigning.azure.net`; Microsofts [Quickstart zu Artifact Signing](https://learn.microsoft.com/azure/artifact-signing/quickstart) beschreibt die Ressource.
3. Notiere unter **Certificate profiles** den Namen des Public-Trust-Profils.

Die **Subscription ID** unter **Subscriptions** ist optional und nur relevant, wenn die Pipeline Azure Login oder OIDC mit Subscription-Kontext verwendet.

## Eintrag in der Plattform anlegen

Lege unter **Anbindungen** einen Eintrag **Azure Artifact Signing** an:

| Feld in der Plattform | Herkunft |
|---|---|
| Tenant ID | Directory (tenant) ID der App Registration |
| Client ID | Application (client) ID derselben App Registration |
| Client Secret | Value des Client Secrets unter Certificates & secrets |
| Signing Endpoint | Endpoint des Artifact Signing Accounts, z. B. `https://weu.codesigning.azure.net` |
| Signing Account Name | Name des Artifact Signing Accounts |
| Certificate Profile Name | Name des Zertifikatsprofils im Account |
| Subscription ID | optional, aus **Subscriptions** |

Klicke zuerst auf **Zugangsdaten überprüfen**; erst nach erfolgreicher Anmeldung bei Azure lässt sich der Eintrag speichern.

## Signierung im Projekt aktivieren

Aktiviere im Projekt die Windows-Plattform und weise den Eintrag **Azure Artifact Signing** zu. Die Pipeline signiert dann die Windows-EXE und den Installer vor dem Hochladen. Für den Microsoft Store wählst du zusätzlich den Microsoft-Store-Account und trägst die Product ID ein, wie unter [Microsoft Store: Zugangsdaten]({{< relref "microsoft-store-credentials" >}}) beschrieben.

## Was die Pipeline beim Signieren verwendet

Die Pipeline signiert mit SignTool und der Azure Code Signing Dlib, nicht mit AzureSignTool oder Key Vault. Als Timestamp-Server dient `http://timestamp.acs.microsoft.com`. Die SmartScreen-Reputation entsteht erst über Downloads, deshalb kann Windows bei einer frisch signierten App anfangs Warnungen zeigen.

