6 #ifndef OPENDDS_DCPS_SECURITY_CRYPTOBUILTINIMPL_H 7 #define OPENDDS_DCPS_SECURITY_CRYPTOBUILTINIMPL_H 10 #include "CryptoBuiltInC.h" 12 #include <dds/DdsSecurityCoreC.h> 21 #if !defined (ACE_LACKS_PRAGMA_ONCE) 46 bool _is_a(
const char*);
47 const char* _interface_repository_id()
const;
92 virtual bool unregister_participant(
96 virtual bool unregister_datawriter(
100 virtual bool unregister_datareader(
107 virtual bool create_local_participant_crypto_tokens(
113 virtual bool have_local_participant_crypto_tokens(
117 virtual bool set_remote_participant_crypto_tokens(
123 virtual bool have_remote_participant_crypto_tokens(
127 virtual bool create_local_datawriter_crypto_tokens(
133 virtual bool have_local_datawriter_crypto_tokens(
137 virtual bool set_remote_datawriter_crypto_tokens(
143 virtual bool have_remote_datawriter_crypto_tokens(
147 virtual bool create_local_datareader_crypto_tokens(
153 virtual bool have_local_datareader_crypto_tokens(
157 virtual bool set_remote_datareader_crypto_tokens(
163 virtual bool have_remote_datareader_crypto_tokens(
167 virtual bool return_crypto_tokens(
174 virtual bool encode_serialized_payload(
181 virtual bool encode_datawriter_submessage(
186 CORBA::Long& receiving_datareader_crypto_list_index,
189 virtual bool encode_datareader_submessage(
196 virtual bool encode_rtps_message(
201 CORBA::Long& receiving_participant_crypto_list_index,
204 virtual bool decode_rtps_message(
211 virtual bool preprocess_secure_submsg(
220 virtual bool decode_datawriter_submessage(
227 virtual bool decode_datareader_submessage(
234 virtual bool decode_serialized_payload(
253 typedef std::map<DDS::Security::NativeCryptoHandle, KeySeq>
KeyTable_t;
262 : submessage_(attribs.is_submessage_protected)
263 , payload_(attribs.is_payload_protected)
275 : category_(c), handle_(h) {}
280 typedef std::pair<DDS::Security::NativeCryptoHandle, DDS::Security::NativeCryptoHandle>
HandlePair_t;
291 void create_key(
const KeyMaterial& master);
292 void derive_key(
const KeyMaterial& master);
293 void next_id(
const KeyMaterial& master);
296 typedef std::pair<DDS::Security::NativeCryptoHandle, unsigned int>
KeyId_t;
303 bool encode_submessage(
DDS::OctetSeq& encoded_rtps_submessage,
308 bool encrypt(
const KeyMaterial& master,
Session& sess,
313 bool authtag(
const KeyMaterial& master,
Session& sess,
318 void encauth_setup(
const KeyMaterial& master,
Session& sess,
326 bool decrypt(
const KeyMaterial& master,
Session& sess,
const char* ciphertext,
331 bool verify(
const KeyMaterial& master,
Session& sess,
const char* in,
KeyMaterial_AES_GCM_GMAC KeyMaterial
sequence< octet, 32 > KeyOctetSeq
std::map< DDS::Security::NativeCryptoHandle, EncryptOpts > EncryptOptions_t
sequence< DatareaderCryptoHandle > DatareaderCryptoHandleSeq
sequence< DatawriterCryptoHandle > DatawriterCryptoHandleSeq
KeyMaterial_AES_GCM_GMAC_Seq KeySeq
EntityInfo(DDS::Security::SecureSubmessageCategory_t c, DDS::Security::NativeCryptoHandle h)
CryptoTokenSeq ParticipantCryptoTokenSeq
EncryptOptions_t encrypt_options_
DDS::Security::NativeCryptoHandle handle_
std::pair< DDS::Security::NativeCryptoHandle, DDS::Security::NativeCryptoHandle > HandlePair_t
NativeCryptoHandle DatawriterCryptoHandle
CryptoTokenSeq DatareaderCryptoTokenSeq
EncryptOpts(const DDS::Security::EndpointSecurityAttributes &attribs)
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused header
long ParticipantCryptoHandle
NativeCryptoHandle DatareaderCryptoHandle
std::map< DDS::Security::NativeCryptoHandle, KeySeq > KeyTable_t
DDS::PropertySeq PropertySeq
sequence< octet > OctetSeq
DerivedKeyIndex_t derived_key_handles_
unsigned long long ACE_UINT64
#define OpenDDS_Security_Export
TAO_AnyTypeCode_Export bool marshal(TAO_OutputCDR &cdr, CORBA::TypeCode_ptr tc, CORBA::ULong offset)
SecureSubmessageCategory_t
DDS::Security::SecureSubmessageCategory_t category_
sequence< ParticipantCryptoHandle > ParticipantCryptoHandleSeq
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
std::multimap< DDS::Security::ParticipantCryptoHandle, EntityInfo > participant_to_entity_
std::pair< DDS::Security::NativeCryptoHandle, unsigned int > KeyId_t
std::map< HandlePair_t, DDS::Security::NativeCryptoHandle > DerivedKeyIndex_t
sequence< CryptoToken > CryptoTokenSeq
sequence< KeyMaterial_AES_GCM_GMAC > KeyMaterial_AES_GCM_GMAC_Seq
The Internal API and Implementation of OpenDDS.
CryptoTokenSeq DatawriterCryptoTokenSeq
std::map< KeyId_t, Session > SessionTable_t