Sunshine master
Self-hosted game stream host for Moonlight.
crypto::cert_chain_t Class Reference

Owns the certificate chain returned by Sunshine's TLS certificate loader. More...

#include <src/crypto.h>

Public Member Functions

void add (x509_t &&cert)
 Add a certificate to the verification chain.
 
 cert_chain_t ()
 Default constructor for the generated type.

 
 cert_chain_t (cert_chain_t &&) noexcept=default
 Defaulted move constructor for the generated type.

 
void clear ()
 Remove all certificates from the verification chain.
 
cert_chain_toperator= (cert_chain_t &&) noexcept=default
 Defaulted move assignment for the generated type. * *.
 
const char * verify (x509_t::element_type *cert)
 Verify the certificate chain. When certificates from two or more instances of Moonlight have been added to x509_store_t, only one of them will be verified by X509_verify_cert, resulting in only a single instance of Moonlight to be able to use Sunshine.
 

Detailed Description

Owns the certificate chain returned by Sunshine's TLS certificate loader.

Constructor & Destructor Documentation

◆ cert_chain_t() [1/2]

crypto::cert_chain_t::cert_chain_t ( cert_chain_t && )
defaultnoexcept

Defaulted move constructor for the generated type.

◆ cert_chain_t() [2/2]

crypto::cert_chain_t::cert_chain_t ( )

Default constructor for the generated type.

Member Function Documentation

◆ add()

void crypto::cert_chain_t::add ( x509_t && cert)

Add a certificate to the verification chain.

Parameters
certCertificate data or object used by the operation.

◆ operator=()

cert_chain_t & crypto::cert_chain_t::operator= ( cert_chain_t && )
defaultnoexcept

Defaulted move assignment for the generated type. * *.

  • Returns
    This instance.

◆ verify()

const char * crypto::cert_chain_t::verify ( x509_t::element_type * cert)

Verify the certificate chain. When certificates from two or more instances of Moonlight have been added to x509_store_t, only one of them will be verified by X509_verify_cert, resulting in only a single instance of Moonlight to be able to use Sunshine.

To circumvent this, x509_store_t instance will be created for each instance of the certificates.

Parameters
certThe certificate to verify.
Returns
nullptr if the certificate is valid, otherwise an error string.

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