Class MessengingHelper
MessengingHelper is the class use to create, and get Messenging.
SESAR service use messenging. The messenging is usefull when is configured to keep a copy encrypted or not of all Secure Exchanges communications in you own organisation
Inheritance
System.Object
MessengingHelper
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Assembly: SecureExchangesSDK.dll
Syntax
public static class MessengingHelper
Methods
CreateMessenging(CreateMessengingArgs)
This method let you create a messenging to another SE licence
Declaration
public static CreateMessengingAnswer CreateMessenging(CreateMessengingArgs args)
Parameters
Returns
CreateRestoreRequest(CreateRestoreRequestArgs)
To create a SESAR restore request
Declaration
public static CreateRestoreRequestAnswer CreateRestoreRequest(CreateRestoreRequestArgs args)
Parameters
Returns
GetBusinessMessenginKeys(GetBusinessMessenginKeysArgs)
Retreived the public key to encrypts com AES and file AES keys
Declaration
public static GetBusinessMessenginKeysAnswer GetBusinessMessenginKeys(GetBusinessMessenginKeysArgs args)
Parameters
Returns
GetMessenging(GetMessengingArgs)
This method let you create a messenging to another SE licence
Declaration
public static GetMessengingResponse GetMessenging(GetMessengingArgs args)
Parameters
Returns
Examples
string privateXmlKey = SecureExchangesSDK.Helpers.SerializationHelper.DeserializeTextFromBase64(GlobalSettings.Base64MessengingPrivateKey);
var messengings = SecureExchangesSDK.Helpers.MessengingHelper.GetMessenging(new SecureExchangesSDK.Models.Args.GetMessengingArgs()
{
EndPointConfigurationName = GlobalSettings.bindingSecure,
ApiPassword = GlobalSettings.ApiPasswordMessenging,
ApiUser = GlobalSettings.ApiUserMessenging,
Serial = GlobalSettings.serialMessenging,
HashKey = SecureExchangesSDK.Helpers.CryptoHelper.GetSHA512HashOfString(SecureExchangesSDK.Helpers.CryptoHelper.GetPublicKeyFromPrivateKey(privateXmlKey))
});
if (messengings == null) throw new Exception("No messenging");
if (messengings.Status != 200)
{
throw new Exception(messengings.Data);
}
foreach (var seM in messengings.Messengings)
{
CallBackCryptedObject cryptedCallObject = SecureExchangesSDK.Helpers.SerializationHelper.DeserializeFromJson<CallBackCryptedObject>(seM.Message);
byte[] comKey, comiv;
string jsonKeys = SecureExchangesSDK.Helpers.CryptoHelper.DecryptRSAContentToString(SecureExchangesSDK.Helpers.SerializationHelper.DeserializeTextFromBase64(GlobalSettings.Base64MessengingPrivateKey), Convert.FromBase64String(seM.CryptedAESKeyWithPublicKeyComMessenging), true);
var keys = SecureExchangesSDK.Helpers.SerializationHelper.DeserializeFromJson<Keys>(jsonKeys);
comKey = Convert.FromBase64String(keys.Base64Key);
comiv = Convert.FromBase64String(keys.Base64IV);
string JSONCallBackObject = SecureExchangesSDK.Helpers.CryptoHelper.DecryptStringFromBase64(cryptedCallObject.CallBackObject, comKey, comiv);
CallBackObject callBack = SecureExchangesSDK.Helpers.SerializationHelper.DeserializeFromJson<CallBackObject>(JSONCallBackObject);
SesarManifest manifest = SecureExchangesSDK.Helpers.SerializationHelper.DeserializeFromJson<SesarManifest>(callBack.CallBackParameters);
SecureExchangesMessage msg = MessageHelper.GetSecureExchangesMessageFromLink(callBack.SecureExchangesURL);
GetMessageResponse response = SecureExchangesSDK.Helpers.MessageHelper.GetMessage(new SecureExchangesSDK.Models.Args.GetMessageArgs(
GlobalSettings.bindingSecure,
GlobalSettings.serialMessenging,
GlobalSettings.ApiUserMessenging,
GlobalSettings.ApiPasswordMessenging, msg.MessageID, msg.Cpart, msg.Sems, msg.NIv, msg.P2, callBack.Password, msg.Pit, string.Empty, msg.Sit));
Keys parametersKeys = null;
if (!string.IsNullOrEmpty(response.CallBackParametersKeys))
{
string parameterJsonKey = SecureExchangesSDK.Helpers.CryptoHelper.DecryptRSAContentToString(privateXmlKey, Convert.FromBase64String(response.CallBackParametersKeys), true);
parametersKeys = SecureExchangesSDK.Helpers.SerializationHelper.DeserializeFromJson<Keys>(parameterJsonKey);
}
if (!string.IsNullOrEmpty(seM.CryptedFromEmailAddress) && parametersKeys != null)
{
string fromEmail = SecureExchangesSDK.Helpers.CryptoHelper.DecryptStringFromBytes(Convert.FromBase64String(seM.CryptedFromEmailAddress), parametersKeys.Key, parametersKeys.IV);
}
if (!string.IsNullOrEmpty(seM.CryptedToEmailAddress) && parametersKeys != null)
{
string toEmail = SecureExchangesSDK.Helpers.CryptoHelper.DecryptStringFromBytes(Convert.FromBase64String(seM.CryptedToEmailAddress), parametersKeys.Key, parametersKeys.IV);
}
if (!string.IsNullOrEmpty(response.CallBackParameters) && parametersKeys != null)
{
string callBackParameter = SecureExchangesSDK.Helpers.CryptoHelper.DecryptStringFromBytes(Convert.FromBase64String(response.CallBackParameters), parametersKeys.Key, parametersKeys.IV);
}
}
GetResendSignatureRequest(GetSESARResendSignatureRequestArgs)
To create a SESAR resend signature request
Declaration
public static GetResendSignatureRequestAnswer GetResendSignatureRequest(GetSESARResendSignatureRequestArgs args)
Parameters
Returns
GetRestoreRequest(GetRestoreRequestArgs)
To create a SESAR restore request
Declaration
public static GetRestoreRequestAnswer GetRestoreRequest(GetRestoreRequestArgs args)
Parameters
Returns
GetSESARLatestVersion(GetSESARLatestVersionArgs)
Get the latest version of SESAR
Declaration
public static GetSESARVersionResponse GetSESARLatestVersion(GetSESARLatestVersionArgs args)
Parameters
Returns
InitializeSesar(InitSesarArgs)
When you initialize a Sesar connection, you received the notification parameters and chontacts
Declaration
public static InitSesarResponse InitializeSesar(InitSesarArgs args)
Parameters
Returns
LogMessengingRequests(String, MessengingLogRequestType, NotificationBags, BaseAPIArgs, Boolean)
Declaration
public static Answer LogMessengingRequests(string message, MessengingLogRequestType messageType, NotificationBags bags, BaseAPIArgs args, bool notifyContacts = false)
Parameters
Returns
SetResendSignatureAsExecutedRequest(SetResendSignatureAsExecutedRequestArgs)
To set an executed date to resend signature
Declaration
public static SetResendSignatureAsExecutedRequestAnswer SetResendSignatureAsExecutedRequest(SetResendSignatureAsExecutedRequestArgs args)
Parameters
Returns
UpdateRestoreRequestStatus(UpdateRestoreRequestStatusArgs)
Update the restore request status to notify the execution
Declaration
public static UpdateRestoreRequestStatusAnswer UpdateRestoreRequestStatus(UpdateRestoreRequestStatusArgs args)
Parameters
Returns