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
Créez un dossier hors du projet, par exemple
C:\SESARWebHook\Config\.Copiez-y
SESARWebHook.API.NetCore\connectors.secrets.template.jsonsous le nomconnectors.secrets.json.Renseignez
WebHookEncryptionKeyetWebHookEncryptionIVavec la clé et l'IV du webhook, recopiés exactement depuis la configuration de SESAR.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
- Déployez l'application sur un serveur joignable par SESAR, en HTTPS : voir Déployer sous Windows.
- Dans la configuration de SESAR, indiquez l'adresse du webhook, par exemple
https://webhook.example.com/api/webhook/handler/mon-gestionnaire: voir Configurer SESAR. - Avant la mise en production, appliquez Sécuriser le déploiement.
Et ensuite
- Créer un gestionnaire, pour envoyer les données vers votre système
- Configuration de référence