SSP21-CPP
Public Member Functions | Static Public Member Functions | List of all members
ssp21::ICertificateHandler Class Referenceabstract

#include <ssp21/crypto/ICertificateHandler.h>

Public Member Functions

virtual seq32_t certificate_data () const =0
 
virtual HandshakeMode mode () const =0
 
virtual HandshakeError validate (HandshakeMode mode, const seq32_t &certificate_data, seq32_t &public_key_output)=0
 
HandshakeError validate (const seq32_t &certificate_data, seq32_t &public_key_output)
 

Static Public Member Functions

static std::shared_ptr< ICertificateHandlerpreshared_key (const std::shared_ptr< const PublicKey > &remote_static_public_key)
 
static std::shared_ptr< ICertificateHandlercertificates (const std::shared_ptr< ssp21::SecureDynamicBuffer > &anchor_cert_file_data, const std::shared_ptr< ssp21::SecureDynamicBuffer > &presented_chain_file_data)
 

Detailed Description

Interface used to verify certificate data.

Implementations could be for preshared public keys or retrieved from a certificate chain authenticated by a trust anchor.

Definition at line 26 of file ICertificateHandler.h.

Member Function Documentation

◆ certificate_data()

virtual seq32_t ssp21::ICertificateHandler::certificate_data ( ) const
pure virtual

The certificate data to present to the other party during the handshake

◆ mode()

virtual HandshakeMode ssp21::ICertificateHandler::mode ( ) const
pure virtual

Initiator side mode query

◆ validate() [1/2]

virtual HandshakeError ssp21::ICertificateHandler::validate ( HandshakeMode  mode,
const seq32_t certificate_data,
seq32_t public_key_output 
)
pure virtual

Given a particular certificate mode, validate the certificate data payload, and return a seq_t pointing to the validated public key

◆ validate() [2/2]

HandshakeError ssp21::ICertificateHandler::validate ( const seq32_t certificate_data,
seq32_t public_key_output 
)
inline

Given a particular certificate mode, validate the certificate data payload, and return a seq_t pointing to the validated public key

Definition at line 50 of file ICertificateHandler.h.