Quels sont les paramètres de configuration de SESAR?

Quels sont les paramètres de configuration de SESAR?

Comme SESAR fonctionne par « tenant », une organisation pourrait avoir plusieurs « tenants ». Le fichier de configuration est donc bâti de sorte que le service soit installé une seule fois, mais qu'il puisse récupérer les informations de tous les « tenants ».

Chaque SESAR est une instance qui doit être configurée sous « instances » dans le fichier de configuration SESAR.exe.config.

Structure du fichier de configuration

Dans le fichier SESAR.exe.config, la section « SESAR.configs » contient un élément « instances », dans lequel chaque instance est déclarée par un élément « add » portant les attributs suivants :

  • Serial=""
  • APIUser=" "
  • APIKey=" "
  • RefreshInterval="300000"
  • ConfigName="YourConfigName"
  • Mode="Receive"
  • KeyExchangesMode="PKCS"
  • PathReceivedFolder="C:\SESAR\Temp\Receive"
  • PathStoreFolder="E:\SecureExchanges Backup\Messenging"
  • MaximumConcurentMessageDownload="10"
  • PKCSComKey=""
  • PrivateFilesKey=""
  • WebHook=""
  • WebHookKey=""
  • WebHookIv=""

Détail des paramètres

Voici le rôle de chaque paramètre. L'ordre de cette liste reprend celui de la documentation d'origine et ne correspond pas nécessairement à l'ordre des attributs dans le fichier.

  • Serial : le numéro de série attribué par Secure Exchanges à votre service SESAR. Ce numéro de série doit être détenteur d'une licence SESAR.
  • APIUser : le « user key » attribué par Secure Exchanges, associé à votre clef SESAR.
  • APIKey : la clef d'API attribuée par Secure Exchanges, associée à votre clef SESAR.
  • RefreshInterval : l'intervalle de rafraîchissement de la récupération des messages. Une fois que SESAR aura terminé de récupérer tous les messages qui lui étaient destinés, il fera une vérification après ce délai. Cette valeur est en secondes. L'intervalle d'attente minimal est de 300000, soit 5 minutes. Si la valeur est à 0, le service ne tiendra pas compte de cette configuration. Lorsque vous double-cliquez sur le SESAR.exe, toutes les instances à 0 seront exécutées une seule fois.
  • ConfigName : le nom de la configuration. Ce nom sera utilisé dans la trace.
  • Mode : en ce moment, seul le mode Receive est supporté.
  • KeyExchangesMode : SESAR est prévu pour fonctionner avec plusieurs modes. En ce moment, seul le mode PKCS est supporté. Éventuellement, vous pourrez configurer 2 SESAR entre deux serveurs afin que ceux-ci s'échangent des fichiers automatiquement.
  • PathReceivedFolder : le dossier temporaire où seront téléchargés les « chunks » de chaque message.
  • PathStoreFolder : le dossier où seront entreposés, par utilisateur, les messages que SESAR aura récupérés.
  • PKCSComKey : votre clef privée en base64, qui servira à déchiffrer la communication.
  • MaximumConcurentMessageDownload : pour une instance, le nombre maximal de messages concurrents pouvant être exécutés en même temps. Cette valeur peut avoir un impact sur les performances. La valeur par défaut est de 10.
  • PrivateFilesKey : une clé RSA de 4096 bits en base64 générée avec l'outil SECT.exe. Cette clé va servir à déchiffrer les fichiers stockés chiffrés au moment d'utiliser le SESAR restore.
Attention : vous devez partager la clé publique de PrivateFilesKey avec l'équipe de Secure Exchanges. La clé publique va servir à chiffrer vos fichiers sur votre serveur, et seuls votre SESAR et votre clé seront en mesure de déchiffrer les fichiers. Les fichiers seront alors conservés sous la forme {nomfichier}.see.

WebHook

Le webhook est un endpoint web qui devra recevoir un objet SesarHook en paramètre. Cet objet est disponible dans le SDK .NET.

L'objet est bâti de la façon suivante :

/// <summary>

/// The object used for SESAR webHook

/// </summary>

public class SesarWebHook

{

/// <summary>

/// The crypted manifest

/// </summary>

public string CryptedObject { get; set; }

/// <summary>

/// The hashkey of the crypted key used

/// </summary>

public string HashKey { get; set; }

}

Exemple en C# pour un service, en ASMX :

[WebMethod]

[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]

public void SESARHook(SesarWebHook args)

Exemple en C# pour un service, en MVC :

[HttpPost]

public string SESARHook([FromBody] HookArgs SEManifest)

public class HookArgs

{

public SesarWebHook args { get; set; }

}

La valeur du webhook sera alors : https://[localhost]/[webservice]/[methode]

  • [localhost] = l'adresse de votre service.
  • [webservice] = votre endpoint : ASMX, MVC, etc.
  • [methode] = dans notre exemple, il s'agit de SESARHook.

La valeur finale dans notre exemple serait donc : https://localhost/Test.asmx/SESARHook

Le webhook est envoyé toutes les 30 secondes et traite l'ensemble des fichiers reçus. Le webhook devra lever une exception si quelque chose ne va pas. Si le webhook retourne un HttpStatus de 200, le hook sera considéré comme étant en succès.

Informations importantes :

  • Le hook a un timeout de 5 minutes.
  • Le content type envoyé est : "application/json".
  • Le paramètre envoyé est : { args : { CryptedObject : '', HashKey : ''}}.
  • Le CryptedObject est l'objet StoreManifest chiffré en base64 avec la clé partagée.
  • Le HashKey est le résultat SHA512 de la clé en base64.

Voici un exemple en C# pour déchiffrer votre StoreManifest à l'aide du SDK de Secure Exchanges :

var jsonObject = CryptoHelper.DecryptStringFromBytes(Convert.FromBase64String(cryptedObject), Convert.FromBase64String(base64Key), Convert.FromBase64String(base64Iv));

StoreManifest sesarStoreManifest = SerializationHelper.DeserializeFromJson<StoreManifest>(jsonObject);

WebHookKey

Une clé AES de 256 bits en base64. Vous pouvez générer cette clé avec l'outil SECT tools. Le StoreManifest sera chiffré avec cette clé, votre webhook doit donc la connaître. Protégez la clé du côté de votre webhook.

WebHookIv

Un IV de 128 bits en base64. Vous pouvez générer cette valeur avec l'outil SECT tools. Le StoreManifest sera chiffré avec cette valeur, votre webhook doit donc la connaître. Protégez-la du côté de votre webhook.

Attention : une fois le service démarré, les valeurs de WebHook, WebHookKey, WebHookIv, Serial, APIUser, APIKey, PrivateFilesKey et PKCSComKey seront chiffrées dans un fichier .sesar portant le nom de votre configuration. Ce fichier n'est pas déplaçable.

Besoin d'aide ?

Notre équipe est disponible pour vous accompagner. Écrivez-nous à support@secure-exchanges.com

Articles connexes