TROAcmeClient

Overview

The TROAcmeClient allows to use Let's Encrypt service for generating of Let's Encrypt certificates

Location

 

AccountPKFileName

Specifies file that contains private key for Let's Encrypt account.

property AccountPKFileName: string read write

Assign  override

Copies the contents of another, similar object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Source

CertificateExpired

Returns date of certificate expiration.

property CertificateExpired: TDateTime read

CertificateFileName

Specifies file that contains Let's Encrypt certificate.

property CertificateFileName: string read write

CertificatePKFileName

Specifies file that contains private key for Let's Encrypt certificate.

property CertificatePKFileName: string read write

CombinedFileName

Specifies file that contains private key and Let's Encrypt certificate.

this file can be used as a certificate for socket servers like

ROHTTPServer1.OpenSSL.CertFile := cl.CombinedFileName;


property CombinedFileName: string read write

CustomHTTP80Port

Can be used for customization of default http port in case of port forwarding on router is used.
If server has direct access to internet, 80 port has to used

property CustomHTTP80Port: Word read write default 80

CustomHttpClient

Allows to use non-default implementation of IROSimpleHttpClient.

known implementation: - uROWinInetSimpleHttpClient.GetSimpleHttpClient. default for Windows platforms - uRONetHttpSimpleHttpClient.GetSimpleHttpClient. default for Delphi 10.2+ & non-Windows platforms - uROSynapseSimpleHttpClient.GetSimpleHttpClient. requires Synapse library. Windows only - uROIndySimpleHttpClient.GetSimpleHttpClient. requires Indy 10.5.9. all platforms are supported.

property CustomHttpClient: IROSimpleHttpClient read write

DefaultEmails

Comma separated values list of emails.
These emails are used for registration of Let's Encrypt account.

example:

cl.DefaultEmails := 'email@domain.com,email2@domain.com';
property DefaultEmails: string read write

Domains

Comma separated values list of supported domains.

example:

cl.Domains := 'domain1.com,domain2.com';
property Domains: string read write

LoadConfig

Loads configuration from file

procedure LoadConfig(aFileName: string = 'acme.config')

Parameters:

  • aFileName: filename

NewOrder

Issues certificate from Lets' Encrypt service.

function NewOrder: Boolean

OnGetPassword

Allows to specify password for private keys

property OnGetPassword: TROAcmeGetPassword read write
delegate: procedure OnGetPassword(Sender: TROAcmeClient; aFileName: string; out aPassword: string)

SaveConfig

Saves configuration to file

procedure SaveConfig(aFileName: string = 'acme.config')

Parameters:

  • aFileName: filename

UseStagingServer

Uses production or staging server.

property UseStagingServer: Boolean read write default False

 

AccountPKFileName

Specifies file that contains private key for Let's Encrypt account.

property AccountPKFileName: string read write

CertificateExpired

Returns date of certificate expiration.

property CertificateExpired: TDateTime read

CertificateFileName

Specifies file that contains Let's Encrypt certificate.

property CertificateFileName: string read write

CertificatePKFileName

Specifies file that contains private key for Let's Encrypt certificate.

property CertificatePKFileName: string read write

CombinedFileName

Specifies file that contains private key and Let's Encrypt certificate.

this file can be used as a certificate for socket servers like

ROHTTPServer1.OpenSSL.CertFile := cl.CombinedFileName;


property CombinedFileName: string read write

CustomHTTP80Port

Can be used for customization of default http port in case of port forwarding on router is used.
If server has direct access to internet, 80 port has to used

property CustomHTTP80Port: Word read write default 80

CustomHttpClient

Allows to use non-default implementation of IROSimpleHttpClient.

known implementation: - uROWinInetSimpleHttpClient.GetSimpleHttpClient. default for Windows platforms - uRONetHttpSimpleHttpClient.GetSimpleHttpClient. default for Delphi 10.2+ & non-Windows platforms - uROSynapseSimpleHttpClient.GetSimpleHttpClient. requires Synapse library. Windows only - uROIndySimpleHttpClient.GetSimpleHttpClient. requires Indy 10.5.9. all platforms are supported.

property CustomHttpClient: IROSimpleHttpClient read write

DefaultEmails

Comma separated values list of emails.
These emails are used for registration of Let's Encrypt account.

example:

cl.DefaultEmails := 'email@domain.com,email2@domain.com';
property DefaultEmails: string read write

Domains

Comma separated values list of supported domains.

example:

cl.Domains := 'domain1.com,domain2.com';
property Domains: string read write

UseStagingServer

Uses production or staging server.

property UseStagingServer: Boolean read write default False

 

Assign  override

Copies the contents of another, similar object.

procedure Assign(Source: TPersistent)

Parameters:

  • Source: Source

LoadConfig

Loads configuration from file

procedure LoadConfig(aFileName: string = 'acme.config')

Parameters:

  • aFileName: filename

NewOrder

Issues certificate from Lets' Encrypt service.

function NewOrder: Boolean

SaveConfig

Saves configuration to file

procedure SaveConfig(aFileName: string = 'acme.config')

Parameters:

  • aFileName: filename

 

OnGetPassword

Allows to specify password for private keys

property OnGetPassword: TROAcmeGetPassword read write
delegate: procedure OnGetPassword(Sender: TROAcmeClient; aFileName: string; out aPassword: string)