Delphi server with AES ENVELOPE
Delphi clients works ok
Oxygene client dont use Envelope and raise binary exception on the communication. Only way to Oxygene client to comunicate is disabling AES on the delphi server.
constructor ServerAccess;
begin
self._serverUrl := "http://localhost:8099/Bin";
self._clientChannel := nil;
self._message := nil;
self.create_serverchannel_and_message;
end;
method ServerAccess.create_serverchannel_and_message;
begin
self._clientChannel := nil;
self._message := nil;
var clientChannel := new IpHttpClientChannel();
clientChannel.TargetUrl := self._serverUrl;
clientChannel.Timeout := 5;
self._clientChannel := clientChannel;
Console.WriteLine(' Channel timeout set to ' + clientChannel.Timeout.ToString);
self._message := Message.MessageMatchingTargetUri(clientChannel.TargetUrl);
if self._message is BinMessage then
begin
Console.WriteLine(' Message AES active ' + _global_AES_key);
var aEnvelope := new AesEncryptionEnvelope(_global_AES_key);
(self._message as BinMessage).EnforceMaxMessageSize := false;
(self._message as BinMessage).Envelopes.Add(aEnvelope);
(self._message as BinMessage).Envelopes[0].Enabled := true;
end;
end;