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 « tenant ». Donc le fichier de configuration est bâti de sorte que le service soit installé une seule fois, mais qu’il puisse récupérer les informations de tous les « tenant »

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

<SESAR.configs>
      <instances>
      <add
      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=””
      />
</instances>
</SESAR.configs>

Voir ci-dessous pour le détail de chaque paramètre :

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 rafraichissement 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 minimale 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 les messages que SESAR aura récupérés par utilisateur

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 impacter les performances. Valeur par défaut est de 10.

PrivateFilesKey
Une clé RSA de 4096 bits en base64 généré avec l’outil SECT.exe. Cette clé va servir à décrypter les fichiers stocker chiffrés au moment d’utiliser le SESAR restore. ATTENTION, vous devez partager la clé publique de cette clé avec l’équipe de Secure Exchanges. La clé publique va servir à encrypter vos fichiers sur votre serveur, et seul votre SESAR ainsi que votre clé sera en mesure de décrypter les fichiers. Les fichiers seront alors conserver sous des {nomfichier}.see

WebHook
Le webhook est un endpoint web qui devra recevoir un objet SesarHook en paramètre. (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 crytped key used
/// </summary>
public string HashKey { get; set; }
}
Exemple en c# pour un service
ASMX
[WebMethod ]
[ScriptMethod(UseHttpGet =false, ResponseFormat = ResponseFormat.Json)]
public void SESARHook(SesarWebHook args)
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 end point. ASMX, MVC etc ..
[methode] = Dans notre exemple il s’agit de SESARHook
Valeur finale dans notre exemple serait : https://localhost/Test.asmx/SESARHook
Le webhook est envoyé à toute les 30 secondes, et traite l’ensemble des fichiers reçu. 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 à un timeout de 5 minutes Le content type envoyé est : "application/json" Le paramètre envoyé est : { args : { CryptedObject : ‘’, HashKey : ‘’}} Le crypted object 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 256bits en base64. Vous pouvez générer cette clé avec l’outil SECT tools. Le SoteManifest sera chiffré avec cette clé, votre webhook doit donc la connaitre. Protéger la clé du côté de votre webhook.

WebHookIv
Un IV de 128 bits en base64. Vous pouvez générer cette clé avec l’outil SECT tools. Le SoteManifest sera chiffré avec cette clé, votre webhook doit donc la connaitre. Protéger la clé du côté de votre webhook.

** Attention, une fois le service parti, les valeurs de WebHook, WebHookKey, WebHookIv, Serial, APIUser, APIKey PrivateFilesKey et PKCSComKey seront cryptés dans un fichier .sesar au nom de votre configuration. Ce fichier n’est pas déplaçable.