TROAcmeClient
Overview
The TROAcmeClient allows to use Let's Encrypt service for generating of Let's Encrypt certificates
Location
- Unit: uROACMESupport.pas
- Ancestry: TComponent | TROAcmeClient
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)