Class astutedds::security::AuthenticationPlugin

ClassList > astutedds > security > AuthenticationPlugin

Authentication Service Plugin Interface (SPI) More...

  • #include <authentication_spi.hpp>

Public Functions

Type Name
virtual bool begin_handshake_reply (IdentityHandle initiator_identity_handle, IdentityHandle replier_identity_handle, const Token & handshake_message_in, Token & handshake_message_out, SecurityException & ex) = 0
Process handshake reply.
virtual bool begin_handshake_request (IdentityHandle initiator_identity_handle, IdentityHandle replier_identity_handle, const Token * handshake_message_in, Token & handshake_message_out, SecurityException & ex) = 0
Begin authentication handshake.
virtual Token get_identity_token (IdentityHandle local_identity_handle, SecurityException & ex) = 0
Get identity token for local participant.
virtual Token get_shared_secret (IdentityHandle local_identity_handle, IdentityHandle remote_identity_handle, SecurityException & ex) = 0
Get shared secret established during handshake.
virtual bool process_handshake (IdentityHandle local_identity_handle, IdentityHandle remote_identity_handle, const Token & handshake_message_in, SecurityException & ex) = 0
Process final handshake message.
virtual bool return_identity_handle (IdentityHandle identity_handle, SecurityException & ex) = 0
Return authenticated participant identity handle.
virtual IdentityHandle validate_local_identity (const CertificateCredentials & identity_credential, uint32_t domain_id, const PropertySeq & participant_qos, SecurityException & ex) = 0
Validate local participant identity.
virtual IdentityHandle validate_remote_identity (IdentityHandle local_identity_handle, const Token & remote_identity_token, const rtps::GUID_t & remote_guid, SecurityException & ex) = 0
Validate remote participant identity.
virtual ~AuthenticationPlugin () = default

Detailed Description

Based on DDS Security 1.1 Section 8.3 Provides participant authentication and identity validation

Public Functions Documentation

function begin_handshake_reply

Process handshake reply.

virtual bool astutedds::security::AuthenticationPlugin::begin_handshake_reply (
    IdentityHandle initiator_identity_handle,
    IdentityHandle replier_identity_handle,
    const Token & handshake_message_in,
    Token & handshake_message_out,
    SecurityException & ex
) = 0

Parameters:

  • initiator_identity_handle Initiator's identity handle
  • replier_identity_handle Replier's identity handle
  • handshake_message_in Incoming handshake message
  • handshake_message_out Outgoing handshake message
  • ex Security exception output

Returns:

True if handshake should continue, false if complete or failed


function begin_handshake_request

Begin authentication handshake.

virtual bool astutedds::security::AuthenticationPlugin::begin_handshake_request (
    IdentityHandle initiator_identity_handle,
    IdentityHandle replier_identity_handle,
    const Token * handshake_message_in,
    Token & handshake_message_out,
    SecurityException & ex
) = 0

Parameters:

  • initiator_identity_handle Initiator's identity handle
  • replier_identity_handle Replier's identity handle
  • handshake_message_in Optional incoming handshake message
  • handshake_message_out Outgoing handshake message
  • ex Security exception output

Returns:

True if handshake should continue, false if complete or failed


function get_identity_token

Get identity token for local participant.

virtual Token astutedds::security::AuthenticationPlugin::get_identity_token (
    IdentityHandle local_identity_handle,
    SecurityException & ex
) = 0

Parameters:

  • local_identity_handle Local identity handle
  • ex Security exception output

Returns:

Identity token for transmission to remote participants


function get_shared_secret

Get shared secret established during handshake.

virtual Token astutedds::security::AuthenticationPlugin::get_shared_secret (
    IdentityHandle local_identity_handle,
    IdentityHandle remote_identity_handle,
    SecurityException & ex
) = 0

Parameters:

  • local_identity_handle Local identity handle
  • remote_identity_handle Remote identity handle
  • ex Security exception output

Returns:

Shared secret token


function process_handshake

Process final handshake message.

virtual bool astutedds::security::AuthenticationPlugin::process_handshake (
    IdentityHandle local_identity_handle,
    IdentityHandle remote_identity_handle,
    const Token & handshake_message_in,
    SecurityException & ex
) = 0

Parameters:

  • local_identity_handle Local identity handle
  • remote_identity_handle Remote identity handle
  • handshake_message_in Final handshake message
  • ex Security exception output

Returns:

True if authentication successful


function return_identity_handle

Return authenticated participant identity handle.

virtual bool astutedds::security::AuthenticationPlugin::return_identity_handle (
    IdentityHandle identity_handle,
    SecurityException & ex
) = 0

Parameters:

  • identity_handle Identity handle to release
  • ex Security exception output

Returns:

True if successfully released


function validate_local_identity

Validate local participant identity.

virtual IdentityHandle astutedds::security::AuthenticationPlugin::validate_local_identity (
    const CertificateCredentials & identity_credential,
    uint32_t domain_id,
    const PropertySeq & participant_qos,
    SecurityException & ex
) = 0

Parameters:

  • identity_credential Certificate and private key credentials
  • domain_id DDS domain ID
  • participant_qos Participant QoS properties
  • ex Security exception output

Returns:

Identity handle if successful, INVALID_IDENTITY_HANDLE otherwise


function validate_remote_identity

Validate remote participant identity.

virtual IdentityHandle astutedds::security::AuthenticationPlugin::validate_remote_identity (
    IdentityHandle local_identity_handle,
    const Token & remote_identity_token,
    const rtps::GUID_t & remote_guid,
    SecurityException & ex
) = 0

Parameters:

  • local_identity_handle Local identity handle
  • remote_identity_token Remote identity token received
  • remote_guid Remote participant GUID
  • ex Security exception output

Returns:

Identity handle for remote participant if valid


function ~AuthenticationPlugin

virtual astutedds::security::AuthenticationPlugin::~AuthenticationPlugin () = default


The documentation for this class was generated from the following file include/astutedds/security/authentication_spi.hpp