AES envelope ignored

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;

Hi,

I can’t reproduce this.

The MegaDemo sample works as expected with AES envelopes:

  • Delphi server
  • .NET client

Im in release 1489. maybe this is the cause?

Any better way to encrypt end to end with delphi/server net/client sample code?

That is almost two years old. Please update to the latest build.