UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISslCertificateManager Class Referenceabstract

#include <ISslCertificateManager.h>

Public Member Functions

virtual ~ISslCertificateManager ()
 
virtual void AddCertificatesToSslContext (SSL_CTX *SslContextPtr) const =0
 
virtual bool HasCertificatesAvailable () const =0
 
virtual void ClearAllPinnedPublicKeys ()=0
 
virtual bool HasPinnedPublicKeys () const =0
 
virtual bool IsDomainPinned (const FString &Domain)=0
 
virtual void SetPinnedPublicKeys (const FString &Domain, const FString &PinnedKeyDigests)=0
 
virtual bool VerifySslCertificates (X509_STORE_CTX *Context, const FString &Domain) const =0
 
virtual bool VerifySslCertificates (TArray< TArray< uint8, TFixedAllocator< PUBLIC_KEY_DIGEST_SIZE > > > &Digests, const FString &Domain) const =0
 

Static Public Attributes

static constexpr int PUBLIC_KEY_DIGEST_SIZE = 32
 

Constructor & Destructor Documentation

◆ ~ISslCertificateManager()

virtual ISslCertificateManager::~ISslCertificateManager ( )
inlinevirtual

Member Function Documentation

◆ AddCertificatesToSslContext()

virtual void ISslCertificateManager::AddCertificatesToSslContext ( SSL_CTX SslContextPtr) const
pure virtual

Add trusted root certificates to the SSL context

Parameters
SslContextPtrSsl context

◆ ClearAllPinnedPublicKeys()

virtual void ISslCertificateManager::ClearAllPinnedPublicKeys ( )
pure virtual

Clear all pinned keys

◆ HasCertificatesAvailable()

virtual bool ISslCertificateManager::HasCertificatesAvailable ( ) const
pure virtual
Returns
true if certificates are available

◆ HasPinnedPublicKeys()

virtual bool ISslCertificateManager::HasPinnedPublicKeys ( ) const
pure virtual

Check if keys have been pinned yet

◆ IsDomainPinned()

virtual bool ISslCertificateManager::IsDomainPinned ( const FString &  Domain)
pure virtual

Check if the domain is currently pinned

◆ SetPinnedPublicKeys()

virtual void ISslCertificateManager::SetPinnedPublicKeys ( const FString &  Domain,
const FString &  PinnedKeyDigests 
)
pure virtual

Set digests for pinned certificate public key for a domain

Parameters
DomainDomain the pinned keys are valid for. If Domain starts with a '.' it will match any subdomain
PinnedKeyDigestsSemicolon separated base64 encoded SHA256 digests of pinned public keys

◆ VerifySslCertificates() [1/2]

virtual bool ISslCertificateManager::VerifySslCertificates ( TArray< TArray< uint8, TFixedAllocator< PUBLIC_KEY_DIGEST_SIZE > > > &  Digests,
const FString &  Domain 
) const
pure virtual

Performs additional ssl validation (certificate pinning)

Parameters
DigestsArray of public key digests to check against pinned key digests
DomainDomain we are connected to
Returns
false if validation fails

◆ VerifySslCertificates() [2/2]

virtual bool ISslCertificateManager::VerifySslCertificates ( X509_STORE_CTX Context,
const FString &  Domain 
) const
pure virtual

Performs additional ssl validation (certificate pinning)

Parameters
ContextPointer to the x509 context containing a certificate chain
DomainDomain we are connected to
Returns
false if validation fails

Member Data Documentation

◆ PUBLIC_KEY_DIGEST_SIZE

constexpr int ISslCertificateManager::PUBLIC_KEY_DIGEST_SIZE = 32
staticconstexpr

The documentation for this class was generated from the following file: