TrustedRoots Go Reference Documentation

TrustedRoots

Current Version: 10.1.2

Used to set and manage the CA root certificates trusted by your application. This applies to PKCS7 (S/MIME) signature validation and SSL/TLS server certificates.

Object Creation

troots := chilkat.NewTrustedRoots()
...
troots.DisposeTrustedRoots()

Properties

DebugLogFilePath
func (troots *TrustedRoots) DebugLogFilePath() string
func (troots *TrustedRoots) SetDebugLogFilePath(s string)

If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. This logging helps identify the context and history of Chilkat calls leading up to any crash or hang, aiding in debugging.

Enabling the VerboseLogging property provides more detailed information. This property is mainly used for debugging rare instances where a Chilkat method call causes a hang or crash, which should generally not happen.

Possible causes of hangs include:

  • A timeout property set to 0, indicating an infinite timeout.
  • A hang occurring within an event callback in the application code.
  • An internal bug in the Chilkat code causing the hang.

More Information and Examples
top
LastErrorHtml
func (troots *TrustedRoots) LastErrorHtml() string

Provides HTML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorText
func (troots *TrustedRoots) LastErrorText() string

Provides plain text information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastErrorXml
func (troots *TrustedRoots) LastErrorXml() string

Provides XML-formatted information about the last called method or property. If a method call fails or behaves unexpectedly, check this property for details. Note that information is available regardless of the method call's success.

top
LastMethodSuccess
func (troots *TrustedRoots) LastMethodSuccess() bool
func (troots *TrustedRoots) SetLastMethodSuccess(b bool)

Indicates the success or failure of the most recent method call: true means success, false means failure. This property remains unchanged by property setters or getters. This method is present to address challenges in checking for null or Nothing returns in certain programming languages.

top
NumCerts
func (troots *TrustedRoots) NumCerts() int
Introduced in version 9.5.0.38

The number of certificates contained within this object.

This is the number of certificates explicitly added by the methods AddCert, AddJavaKeyStore, and LoadCaCertsPem.

top
RejectSelfSignedCerts
func (troots *TrustedRoots) RejectSelfSignedCerts() bool
func (troots *TrustedRoots) SetRejectSelfSignedCerts(b bool)
Introduced in version 9.5.0.80

Indicates whether all self-signed certificates are to be rejected in SSL/TLS connections. The default value of this property is false.

Note: This is for the case where the server certificate chain of authentication is 1 certificate long (i.e. the TLS server certificate itself is self-signed).

top
TrustSystemCaRoots
func (troots *TrustedRoots) TrustSystemCaRoots() bool
func (troots *TrustedRoots) SetTrustSystemCaRoots(b bool)
Introduced in version 9.5.0.41

Indicates whether the operating system's CA root certificates are automatically trusted.

On a Windows operating system, this would be the registry-based CA certificate stores. On a Linux system, this could be /etc/ssl/certs/ca-certificates.crt, if it exists. The default value is true. Set this property equal to false to prevent Chilkat from automatically trusting system-provided root CA certificates.

More Information and Examples
top
VerboseLogging
func (troots *TrustedRoots) VerboseLogging() bool
func (troots *TrustedRoots) SetVerboseLogging(b bool)

If set to true, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. The default value is false. Verbose logging should only be used for debugging. The potentially large quantity of logged information may adversely affect peformance.

top
Version
func (troots *TrustedRoots) Version() string

Version of the component/library, such as "10.1.0"

More Information and Examples
top

Methods

Activate
func (troots *TrustedRoots) Activate() bool
Introduced in version 9.5.0.38

Activates this collection of trusted roots as the set of CA and self-signed root certificates that are to be trusted Chilkat-wide for PKCS7 signature validation and SSL/TLS server certificate validation.

More Information and Examples
top
AddCert
func (troots *TrustedRoots) AddCert(cert *Cert) bool
Introduced in version 9.5.0.41

Adds a certificate to the collection of trusted roots.

top
AddJavaKeyStore
func (troots *TrustedRoots) AddJavaKeyStore(keystore *JavaKeyStore) bool
Introduced in version 9.5.0.44

Adds the trusted certificates from a Java key store to the collection of trusted roots.

Returns true for success, false for failure.

top
AddJavaKeyStoreAsync (1)
func (troots *TrustedRoots) AddJavaKeyStoreAsync(keystore *JavaKeyStore, task chan *Task)
Introduced in version 9.5.0.44

Creates an asynchronous task to call the AddJavaKeyStore method with the arguments provided.

Returns nil on failure

top
Deactivate
func (troots *TrustedRoots) Deactivate() bool
Introduced in version 9.5.0.40

Deactivates a previous set of activated trusted roots so that all roots / self-signed certificates are implicitly trusted.

Returns true for success, false for failure.

top
GetCert
func (troots *TrustedRoots) GetCert(index int) *Cert
Introduced in version 9.5.0.38

Returns the Nth cert contained within this object. The 1st certificate is at index 0.

Returns nil on failure

More Information and Examples
top
LoadCaCertsPem
func (troots *TrustedRoots) LoadCaCertsPem(path string) bool
Introduced in version 9.5.0.38

Loads a CA bundle in PEM format. This is a file containing CA root certificates that are to be trusted. An example of one such file is the CA certs from mozilla.org exported to a cacert.pem file by the mk-ca-bundle tool located here: http://curl.haxx.se/docs/caextract.html.

Note: This can also be called to load the /etc/ssl/certs/ca-certificates.crt file on Linux systems.

More Information and Examples
top
LoadCaCertsPemAsync (1)
func (troots *TrustedRoots) LoadCaCertsPemAsync(path string, task chan *Task)
Introduced in version 9.5.0.38

Creates an asynchronous task to call the LoadCaCertsPem method with the arguments provided.

Returns nil on failure

top
LoadTaskCaller
func (troots *TrustedRoots) LoadTaskCaller(task *Task) bool
Introduced in version 9.5.0.80

Loads the caller of the task's async method.

Returns true for success, false for failure.

top