I have an AWS S3 account and got SecretAccessKey, SessionToken, Expiration, AccessKeyId items. I would like to upload some files to the cloud, in the simplest way. 

Have read a some docs regarding authorization headers (<http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html>) but still do not understand how to build them)) 

also, saw another example with Indy, so, please help to build the authorization header with these items that I have: SecretAccessKey, SessionToken, Expiration, AccessKeyId. It's ok to be with a "Transferring Payload in a Single Chunk" mode + "Signed payload option".

```
  FS := TFileStream.Create('c:\myfile.txt', fmOpenRead or fmShareDenyWrite);
  try
    IdHTTP1.Request.CustomHeaders.Values['Authorization'] := ...; // please help
    IdHTTP1.Request.BasicAuthentication := False;
    IdHTTP1.Request.Date := ...;   //what should I enter here?
    IdHTTP1.Request.Expect := '100-continue';
    IdHTTP1.Request.ProtocolVersion := pv1_1;
    ...
    IdHTTP1.Put('http://'+BucketName+'.s3.amazonaws.com/myfile.txt', FS);
  finally
    FS.Free;
  end;

```

Thank you!