Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

PDF LTV through HTTP Proxy or SOCKS proxy

See more PDF Signatures Examples

When signing with long-term validation and/or timestamping from a TSA server, the Chilkat PDF object will communicate via HTTP (and HTTPS) with the certificate's OCSP URL and with the timestamp server. This example shows how to specify an HTTP or SOCKS proxy if your environment requires the connection to go through a proxy.

Note: This example requires Chilkat v9.5.0.85 or greater.

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.Pdf,
  Chilkat.Http;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  pdf: TPdf;
  http: THttp;

begin
  pdf := TPdf.Create;

  //  To specify a proxy, we can create a Chilkat HTTP object, set the proxy related properties, 
  //  and then tell the PDF object to use the HTTP object for any communications needs.
  http := THttp.Create;

  //  Set the SocksVersion property = 5 for SOCKS5
  http.SocksVersion := 5;

  //  Set the SocksHostname to the SOCKS proxy domain name or IP address, 
  //  which may be IPv4 (dotted notation) or IPv6.
  http.SocksHostname := '192.168.1.100';

  //  The port where the SOCKS5 proxy is listening.
  http.SocksPort := 1080;

  //  If the SOCKS5 proxy itself requires authentication, set the username/password 
  //  like this.  (otherwise leave the username/password empty)
  http.SocksUsername := 'myUsername';
  http.SocksPassword := 'myPassword';

  //  Here we tell the PDF object to use the HTTP object:
  pdf.SetHttpObj(http);

  //  To use an HTTP proxy, instead of setting the above properties, set the following properties

  //  Use a domain name or IP address.
  http.ProxyDomain := '172.16.16.24';

  //  The port at which your HTTP proxy is listening for HTTP requests.
  http.ProxyPort := 808;

  //  If your HTTP proxy requires authentication...
  http.ProxyLogin := 'myProxyLogin';
  http.ProxyPassword := 'myProxyPassword';

  pdf.SetHttpObj(http);


  pdf.Free;
  http.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.