SSP21-CPP
Functions
ssp21::initiator::factory Namespace Reference

Initiator factory functions. More...

Functions

std::shared_ptr< IStackshared_secert_mode (const Addresses &addresses, const InitiatorConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const CryptoSuite &crypto_suite, const std::shared_ptr< const SymmetricKey > &key)
 Create a shared secret initiator stack. More...
 
std::shared_ptr< IStackqkd_mode (const Addresses &addresses, const InitiatorConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const CryptoSuite &crypto_suite, const std::shared_ptr< IKeySource > &key_source)
 Create a quantum key distribution (QKD) initiator stack. More...
 
std::shared_ptr< IStackpreshared_public_key_mode (const Addresses &addresses, const InitiatorConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const CryptoSuite &crypto_suite, const StaticKeys &local_keys, const std::shared_ptr< const PublicKey > &remote_public_key)
 Create a preshared public key initiator stack. More...
 
std::shared_ptr< IStackcertificate_public_key_mode (const Addresses &addresses, const InitiatorConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const CryptoSuite &crypto_suite, const StaticKeys &local_keys, const std::shared_ptr< ssp21::SecureDynamicBuffer > &anchor_cert_file_data, const std::shared_ptr< ssp21::SecureDynamicBuffer > &presented_chain_file_data)
 Create a certificate-based initiator stack. More...
 

Detailed Description

Initiator factory functions.

Function Documentation

◆ shared_secert_mode()

std::shared_ptr<IStack> ssp21::initiator::factory::shared_secert_mode ( const Addresses addresses,
const InitiatorConfig config,
const log4cpp::Logger logger,
const std::shared_ptr< exe4cpp::IExecutor > &  executor,
const CryptoSuite crypto_suite,
const std::shared_ptr< const SymmetricKey > &  key 
)

Create a shared secret initiator stack.

Parameters
addressesLink-layer addresses used
configResponder configuration
loggerLogger used by the stack
executorExecutor used by the stack
crypto_suiteCryptographic modes that will be requested
keyShared secret
Returns
Stack to which an IUpperLayer and an ILowerLayer must be bind
Note
The only valid HandshakeEphemeral for this mode is HandshakeEphemeral::nonce.

◆ qkd_mode()

std::shared_ptr<IStack> ssp21::initiator::factory::qkd_mode ( const Addresses addresses,
const InitiatorConfig config,
const log4cpp::Logger logger,
const std::shared_ptr< exe4cpp::IExecutor > &  executor,
const CryptoSuite crypto_suite,
const std::shared_ptr< IKeySource > &  key_source 
)

Create a quantum key distribution (QKD) initiator stack.

Parameters
addressesLink-layer addresses used
configResponder configuration
loggerLogger used by the stack
executorExecutor used by the stack
crypto_suiteCryptographic modes that will be requested
key_sourceKey source interface
Returns
Stack to which an IUpperLayer and an ILowerLayer must be bind
Note
The only valid HandshakeEphemeral for this mode is HandshakeEphemeral::none.

◆ preshared_public_key_mode()

std::shared_ptr<IStack> ssp21::initiator::factory::preshared_public_key_mode ( const Addresses addresses,
const InitiatorConfig config,
const log4cpp::Logger logger,
const std::shared_ptr< exe4cpp::IExecutor > &  executor,
const CryptoSuite crypto_suite,
const StaticKeys local_keys,
const std::shared_ptr< const PublicKey > &  remote_public_key 
)

Create a preshared public key initiator stack.

Parameters
addressesLink-layer addresses used
configResponder configuration
loggerLogger used by the stack
executorExecutor used by the stack
crypto_suiteCryptographic modes that will be requested
local_keysLocal key pair
remote_public_keyRemote public key
Returns
Stack to which an IUpperLayer and an ILowerLayer must be bind
Note
The only valid HandshakeEphemeral for this mode is HandshakeEphemeral::x25519.

◆ certificate_public_key_mode()

std::shared_ptr<IStack> ssp21::initiator::factory::certificate_public_key_mode ( const Addresses addresses,
const InitiatorConfig config,
const log4cpp::Logger logger,
const std::shared_ptr< exe4cpp::IExecutor > &  executor,
const CryptoSuite crypto_suite,
const StaticKeys local_keys,
const std::shared_ptr< ssp21::SecureDynamicBuffer > &  anchor_cert_file_data,
const std::shared_ptr< ssp21::SecureDynamicBuffer > &  presented_chain_file_data 
)

Create a certificate-based initiator stack.

Parameters
addressesLink-layer addresses used
configResponder configuration
loggerLogger used by the stack
executorExecutor used by the stack
crypto_suiteCryptographic modes that will be requested
local_keysLocal key pair
anchor_cert_file_dataRoot certificate file
presented_chain_file_dataCertificate chain to present to the remote
Returns
Stack to which an IUpperLayer and an ILowerLayer must be bind
Note
The only valid HandshakeEphemeral for this mode is HandshakeEphemeral::x25519.