1 #ifndef SSP21_FACTORY_H 2 #define SSP21_FACTORY_H 20 #include "ssp21/crypto/BufferTypes.h" 21 #include "ssp21/crypto/CryptoLayerConfig.h" 22 #include "ssp21/crypto/CryptoSuite.h" 23 #include "ssp21/crypto/IKeyLookup.h" 24 #include "ssp21/crypto/IKeySource.h" 25 #include "ssp21/crypto/StaticKeys.h" 28 #include "ssp21/util/SecureDynamicBuffer.h" 30 #include "exe4cpp/IExecutor.h" 31 #include "log4cpp/Logger.h" 60 const std::shared_ptr<exe4cpp::IExecutor>& executor,
61 const std::shared_ptr<const SymmetricKey>& key
77 const std::shared_ptr<exe4cpp::IExecutor>& executor,
78 const std::shared_ptr<IKeyLookup>& key_lookup
95 const std::shared_ptr<exe4cpp::IExecutor>& executor,
97 const std::shared_ptr<const PublicKey>& remote_public_key
115 const std::shared_ptr<exe4cpp::IExecutor>& executor,
117 const std::shared_ptr<ssp21::SecureDynamicBuffer>& anchor_cert_file_data,
118 const std::shared_ptr<ssp21::SecureDynamicBuffer>& presented_chain_file_data
151 const std::shared_ptr<exe4cpp::IExecutor>& executor,
153 const std::shared_ptr<const SymmetricKey>& key
172 const std::shared_ptr<exe4cpp::IExecutor>& executor,
174 const std::shared_ptr<IKeySource>& key_source
194 const std::shared_ptr<exe4cpp::IExecutor>& executor,
197 const std::shared_ptr<const PublicKey>& remote_public_key
218 const std::shared_ptr<exe4cpp::IExecutor>& executor,
221 const std::shared_ptr<ssp21::SecureDynamicBuffer>& anchor_cert_file_data,
222 const std::shared_ptr<ssp21::SecureDynamicBuffer>& presented_chain_file_data
SSP21-cpp main namespace.
std::shared_ptr< IStack > preshared_public_key_mode(const Addresses &addresses, const ResponderConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const StaticKeys &local_keys, const std::shared_ptr< const PublicKey > &remote_public_key)
Create a preshared public key responder stack.
std::shared_ptr< IStack > 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.
std::shared_ptr< IStack > certificate_public_key_mode(const Addresses &addresses, const ResponderConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, 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 responder stack.
std::shared_ptr< IStack > shared_secret_mode(const Addresses &addresses, const ResponderConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const std::shared_ptr< const SymmetricKey > &key)
Create a shared secret responder stack.
Structure ssp21::Addresses.
std::shared_ptr< IStack > qkd_mode(const Addresses &addresses, const ResponderConfig &config, const log4cpp::Logger &logger, const std::shared_ptr< exe4cpp::IExecutor > &executor, const std::shared_ptr< IKeyLookup > &key_lookup)
Create a quantum key destribution (QKD) responder stack.
std::shared_ptr< IStack > 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.
Link-layer pair of addresses.
std::shared_ptr< IStack > 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.
std::shared_ptr< IStack > 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.