Table of Contents

Démarrage rapide

Faire tourner SESAR Webhook sur votre poste, le vérifier, puis le brancher sur SESAR.

Prérequis

  • Windows, avec le SDK .NET 9 et Git.
  • La clé et le vecteur d'initialisation (IV) du webhook, tels que définis dans la configuration de SESAR. Sur votre poste, utilisez des clés de test, jamais celles de production.

1. Récupérer et compiler

git clone https://github.com/SecureExchanges/SESARWebhookCore.git
cd SESARWebhookCore
dotnet build SESARWebHookCore.sln -c Release
dotnet test SESARWebHook.Tests.NetCore\SESARWebHook.Tests.NetCore.csproj

2. Préparer le fichier de secrets

  1. Créez un dossier hors du projet, par exemple C:\SESARWebHook\Config\.

  2. Copiez-y SESARWebHook.API.NetCore\connectors.secrets.template.json sous le nom connectors.secrets.json.

  3. Renseignez WebHookEncryptionKey et WebHookEncryptionIV avec la clé et l'IV du webhook, recopiés exactement depuis la configuration de SESAR.

  4. Indiquez à l'application où trouver ce fichier :

    $env:ConnectorsSecretsPath = "C:\SESARWebHook\Config\connectors.secrets.json"
    

Ne laissez pas ce fichier dans le dossier du projet : les fichiers .json du projet sont copiés dans la sortie de compilation et de publication, et votre fichier en clair s'y retrouverait.

Attention

Au démarrage, l'application chiffre ce fichier avec DPAPI, pour le compte Windows qui la lance. Il ne sera lisible que par ce compte, sur cette machine. Voir Secrets et DPAPI.

3. Lancer l'application

dotnet run --project SESARWebHook.API.NetCore

L'application écoute sur https://localhost:61094, selon le profil de lancement du projet. Si votre navigateur ou PowerShell refuse le certificat, approuvez le certificat de développement d'ASP.NET Core :

dotnet dev-certs https --trust

4. Vérifier

Invoke-RestMethod https://localhost:61094/api/health/status | ConvertTo-Json -Depth 5

Configuration.ProcessorInitialized doit valoir true. Sinon, Configuration.InitializationError en donne la raison, souvent une clé ou un IV absent, ou un fichier de secrets illisible.

N'utilisez pas /api/health pour cette vérification : il répond toujours Healthy, même quand le webhook ne peut rien traiter.

5. Essayer sans SESAR (facultatif)

Les routes de débogage traitent un manifeste en clair, sans HashKey. Activez-les seulement sur votre poste, le temps de l'essai :

$env:EnableDebugEndpoints = "true"
dotnet run --project SESARWebHook.API.NetCore

Dans une autre fenêtre PowerShell :

$sample = Invoke-RestMethod https://localhost:61094/api/debug/sample-manifest
Invoke-RestMethod -Method Post -Uri https://localhost:61094/api/debug/connector/filesystem -ContentType "application/json" -Body ($sample.SampleManifest | ConvertTo-Json -Depth 10)

Le connecteur Système de fichiers écrit alors le manifeste, vide, dans C:\SESARWebHook\Output\. Arrêtez l'application et retirez la variable EnableDebugEndpoints après l'essai.

6. Brancher SESAR

  1. Déployez l'application sur un serveur joignable par SESAR, en HTTPS : voir Déployer sous Windows.
  2. Dans la configuration de SESAR, indiquez l'adresse du webhook, par exemple https://webhook.example.com/api/webhook/handler/mon-gestionnaire : voir Configurer SESAR.
  3. Avant la mise en production, appliquez Sécuriser le déploiement.

Et ensuite