10 #ifndef OPENDDS_DCPS_SECURITY_AUTHENTICATIONBUILTINIMPL_H 11 #define OPENDDS_DCPS_SECURITY_AUTHENTICATIONBUILTINIMPL_H 17 #include <dds/DdsSecurityCoreC.h> 28 #if !defined (ACE_LACKS_PRAGMA_ONCE) 73 const ::DDS::DomainParticipantQos & participant_qos,
77 virtual ::CORBA::Boolean get_identity_token(
82 virtual ::CORBA::Boolean get_identity_status_token(
87 virtual ::CORBA::Boolean set_permissions_credential_and_token(
107 const ::DDS::OctetSeq & serialized_local_participant_data,
115 const ::DDS::OctetSeq & serialized_local_participant_data,
124 virtual ::DDS::Security::SharedSecretHandle* get_shared_secret(
128 virtual ::CORBA::Boolean get_authenticated_peer_credential_token(
133 virtual ::CORBA::Boolean set_listener(
134 ::DDS::Security::AuthenticationListener_ptr listener,
137 virtual ::CORBA::Boolean return_identity_token(
141 virtual ::CORBA::Boolean return_identity_status_token(
145 virtual ::CORBA::Boolean return_authenticated_peer_credential_token(
149 virtual ::CORBA::Boolean return_handshake_handle(
153 virtual ::CORBA::Boolean return_identity_handle(
157 virtual ::CORBA::Boolean return_sharedsecret_handle(
209 , validated_remotes()
210 , handshake_debug(false)
220 typedef std::pair<LocalParticipantData::shared_ptr, RemoteParticipantData::shared_ptr>
HandshakeDataPair;
247 bool check_class_versions(
const char* remote_class_id);
249 std::string build_class_id(
const std::string& message_ext);
251 std::string get_extension(
const char* class_id);
259 bool operator()(
const RemoteParticipantMap::value_type& validated)
const 261 return (expected_ == validated.second->participant_guid);
271 bool operator()(
const LocalParticipantMap::value_type& local)
const 273 const RemoteParticipantMap& remotes = local.second->validated_remotes;
274 return remotes.find(h_) != remotes.end();
ACE_Thread_Mutex identity_mutex_
SSL::Certificate::unique_ptr certificate
DDS::Security::IdentityHandle replier_identity
const char Auth_Peer_Cred_Token_Class_Id[]
const InstanceHandle_t HANDLE_NIL
const DCPS::GUID_t & expected_
const GUID_t GUID_UNKNOWN
Nil value for GUID.
DDS::DomainId_t DomainId_t
SSL::DiffieHellman::unique_ptr diffie_hellman
local_has_remote_handle(DDS::Security::IdentityHandle h)
LocalParticipantMap local_participants_
ACE_Thread_Mutex handshake_mutex_
ACE_Thread_Mutex handle_mutex_
HandshakeDataMap handshake_data_
DCPS::GUID_t participant_guid
bool operator()(const RemoteParticipantMap::value_type &validated) const
DDS::Security::HandshakeMessageToken reply
DDS::Security::IdentityHandle h_
DDS::Security::AuthRequestMessageToken remote_auth_request
DDS::Security::ValidationResult_t state
DCPS::RcHandle< LocalParticipantData > shared_ptr
DDS::Security::IdentityHandle initiator_identity
DDS::Security::HandshakeMessageToken request
std::map< DDS::Security::IdentityHandle, RemoteParticipantData::shared_ptr > RemoteParticipantMap
std::pair< LocalParticipantData::shared_ptr, RemoteParticipantData::shared_ptr > HandshakeDataPair
MessageToken AuthRequestMessageToken
sequence< octet > OctetSeq
LocalAuthCredentialData::shared_ptr credentials
DDS::Security::IdentityHandle local_participant
was_guid_validated(const DCPS::GUID_t &expected)
DDS::Security::SharedSecretHandle_var shared_secret
#define OpenDDS_Security_Export
Token IdentityStatusToken
MessageToken HandshakeMessageToken
const char Identity_Status_Token_Class_Id[]
RemoteParticipantMap validated_remotes
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
DCPS::RcHandle< RemoteParticipantData > shared_ptr
std::map< DDS::Security::IdentityHandle, LocalParticipantData::shared_ptr > LocalParticipantMap
Token PermissionsCredentialToken
bool operator()(const LocalParticipantMap::value_type &local) const
DDS::Security::AuthenticationListener_ptr listener_ptr_
const char dds_cert_algo[]
The Internal API and Implementation of OpenDDS.
DCPS::GUID_t participant_guid
Token AuthenticatedPeerCredentialToken
std::map< DDS::Security::HandshakeHandle, HandshakeDataPair > HandshakeDataMap
Implements the DDS built-in version of the Authentication plugin for the DDS Security Specification...
DDS::Security::AuthRequestMessageToken local_auth_request
static const char * PROPERTY_HANDSHAKE_DEBUG
include in PropertyQosPolicy to add optional properties to Handshake tokens