Class CryptoKeyFactory

Class Documentation

class CryptoKeyFactory

Public Functions

inline virtual ~CryptoKeyFactory()
virtual std::shared_ptr<ParticipantCryptoHandle> register_local_participant(const IdentityHandle &participant_identity, const PermissionsHandle &participant_permissions, const PropertySeq &participant_properties, const ParticipantSecurityAttributes &participant_security_attributes, SecurityException &exception) = 0

Register a local, already authenticated Participant with the Cryptographic Plugin. Creates Crypto material needed to encrypt messages directed to other Participants

Parameters:
  • participant_identity – Made by a prior call to validate_local_identity

  • participant_permissions – Made by a prior call to validate_local_permissions

  • participant_properties – Combination of PropertyQoSPolicy and contents of AccessControl

  • participant_security_attributes – ParticipantSecurity Attributes.

  • exception – (out) Security exception

Returns:

ParticipantCryptoHandle with generated key material

virtual std::shared_ptr<ParticipantCryptoHandle> register_matched_remote_participant(const ParticipantCryptoHandle &local_participant_crypto_handle, const IdentityHandle &remote_participant_identity, const PermissionsHandle &remote_participant_permissions, const SecretHandle &shared_secret, SecurityException &exception) = 0

Register a remote, already authenticated Participant with the Cryptographic Plugin. Creates key material to decrypt messages coming from and aimed at it.

Parameters:
  • local_participant_crypto_handle – Returned by a prior call to register_local_participant

  • remote_participant_identity – Returned by a prior call to validate_remote_identity

  • remote_participant_permissions – Returned by a prior call to validate_remote_permissions

  • shared_secret – Returned by a prior call to get_shared_secret (Auth Handshake)

  • exception – (out) Security exception

Returns:

ParticipantCryptoHandle with generated key material

virtual DatawriterCryptoHandle *register_local_datawriter(ParticipantCryptoHandle &participant_crypto, const PropertySeq &datawriter_prop, const EndpointSecurityAttributes &datawriter_sec_attr, SecurityException &exception) = 0

Register a local DataWriter belonging to an authenticated Pariticipant. Creates cryptomaterial for use with incoming/outgoing messages

Parameters:
  • participant_crypto – returned by a prior call to register_local_participant

  • datawriter_prop – Combination of PropertyWosPolicy and contents of AccessControl

  • datawriter_sec_attr – EndpointSecurity Attributes.

  • exception – (out) Security exception

Returns:

CryptoHandle to be used with operations related to the DataWriter

virtual DatareaderCryptoHandle *register_matched_remote_datareader(DatawriterCryptoHandle &local_datawriter_crypto_handle, ParticipantCryptoHandle &remote_participant_crypto, const SecretHandle &shared_secret, const bool relay_only, SecurityException &exception) = 0

Register a remote DataReader that has been granted permission to match with the local DataWriter. Creates cryptographic material to encript/decrypt messages from and towards that DataReader.

Parameters:
  • local_datawriter_crypto_handle – Returned by a prior call to register_local_datawriter

  • remote_participant_crypto – Returned by a prior call to register_matched_remote_participant.

  • shared_secret – Obtained as a result of the Authentication Handshake.

  • relay_only – If FALSE it generates material for both a submessage and serialized payload. Submessages only if TRUE.

  • exception – (out) Security exception.

Returns:

Crypto Handle to the generated key material.

virtual DatareaderCryptoHandle *register_local_datareader(ParticipantCryptoHandle &participant_crypto, const PropertySeq &datareader_properties, const EndpointSecurityAttributes &datareader_security_attributes, SecurityException &exception) = 0

Register a local DataReader (belonging to an authenticated and authorized Participant) with the Cryptographic Plugin. Creates crypto material to encode messages when the encryption is independent of the targeted DataWriter

Parameters:
  • participant_crypto – Returned by a prior call to register_local_participant

  • datareader_properties – Combination of PropertyQosPolicy and the contents of AccessControl

  • datareader_security_attributes – EndpointSecurity Attributes.

  • exception – (out) Security exception

Returns:

Crypto Handle to the generated key material

virtual DatawriterCryptoHandle *register_matched_remote_datawriter(DatareaderCryptoHandle &local_datareader_crypto_handle, ParticipantCryptoHandle &remote_participant_crypt, const SecretHandle &shared_secret, SecurityException &exception) = 0

Register a remote DataWriter that has been granted permission to match with a local DataReader. Creates crypto material to decrypt messages coming from and encode messages going towards that datareader

Parameters:
  • local_datareader_crypto_handle

  • remote_participant_crypt

  • shared_secret

  • exception – (out) Security exception

Returns:

Crypto handle to the generated key material

virtual bool unregister_participant(std::shared_ptr<ParticipantCryptoHandle> &participant_crypto_handle, SecurityException &exception) = 0

Releases resources associated with a Participant. The Crypto Handle becomes unusable after this

Parameters:
  • participant_crypto_handle – Belonging to the Participant that awaits termination

  • exception – (out) Security exception

Returns:

TRUE is successful

virtual bool unregister_datawriter(std::shared_ptr<DatawriterCryptoHandle> &datawriter_crypto_handle, SecurityException &exception) = 0

Releases resources associated with a DataWriter. The Crypto Handle may become unusable after this

Parameters:
  • datawriter_crypto_handle – Belonging to the DataWriter that awaits termination

  • exception – (out) Security exception

Returns:

TRUE is successful

inline bool unregister_datawriter(DatawriterCryptoHandle *datawriter_crypto_handle, SecurityException &exception)

Convenient override for raw pointers arguments.

Parameters:
  • datawriter_crypto_handle – Belonging to the DataWriter that awaits termination

  • exception – (out) Security exception

Returns:

TRUE is successful

virtual bool unregister_datareader(std::shared_ptr<DatareaderCryptoHandle> &datareader_crypto_handle, SecurityException &exception) = 0

Releases resources associated with a DataReader. The Crypto Handle may become unusable after this

Parameters:
  • datareader_crypto_handle – Belonging to the DataReader that awaits termination

  • exception – (out) Security exception

Returns:

TRUE is successful

inline bool unregister_datareader(DatareaderCryptoHandle *datareader_crypto_handle, SecurityException &exception)

Convenient override for raw pointers arguments.

Parameters:
  • datareader_crypto_handle – Belonging to the DataWriter that awaits termination

  • exception – (out) Security exception

Returns:

TRUE is successful