Skip to content

OpenSSL platform

«interface»SolidSyslogOpenSslCredentialsOpenSslNullCredentialsOpenSslOpenSslPemFileCredentialsOpenSslOpenSslStreamOpenSsl

Struct SolidSyslogOpenSslCredentials

ClassList > SolidSyslogOpenSslCredentials

  • #include <SolidSyslogOpenSslCredentialsDefinition.h>
struct SolidSyslogOpenSslCredentials
{
    bool (*Install)(
        struct SolidSyslogOpenSslCredentials* self,
        SSL_CTX* ctx,
        struct SolidSyslogTlsCredentialsInstalled* installed
    );
    void (*Release)(struct SolidSyslogOpenSslCredentials* self);
};

Detailed Description

Where an OpenSslStream's credentials come from.

Called once per connection each, so material is obtained only for a connection actually being made and released when it ends.

Public Attributes Documentation

Install

Install trust anchors, any pinned peer fingerprints, and - for mutual TLS - the client credential onto ctx , reporting throughinstalled what the stream cannot read back out ofctx .

bool(* SolidSyslogOpenSslCredentials::Install) (struct SolidSyslogOpenSslCredentials *self, SSL_CTX *ctx, struct SolidSyslogTlsCredentialsInstalled *installed);

Called from Open, after the transport connects.

Return value:

  • false the material that authorises the peer could not be produced; the connection attempt fails and the sender retries on its next pass. A fault in the client's own credential is reported by the backend and returns true - it never stops delivery.

Release

Release what Install acquired.

void(* SolidSyslogOpenSslCredentials::Release) (struct SolidSyslogOpenSslCredentials *self);

Called from Close exactly once for every Install call, whatever that call returned, so a backend needs no rollback of its own and the integrator is always told when the credential window has closed. Must be a safe no-op when nothing was acquired.



The documentation for this class was generated from the following file Platform/OpenSsl/Interface/SolidSyslogOpenSslCredentialsDefinition.h