23 using namespace CommonUtilities;
36 cid.
value = pubcert_.original_bytes();
39 cperm.
name =
"c.perm";
40 cperm.
value = perm_data;
43 cpdata.
name =
"c.pdata";
44 cpdata.
value = topic_data;
47 cdsign_algo.
name =
"c.dsign_algo";
48 const char* cdsign_algo_str = pubcert_.dsign_algo();
49 cdsign_algo.
value.length(static_cast<unsigned int>(std::strlen(cdsign_algo_str)) + 1);
50 std::memcpy(cdsign_algo.
value.get_buffer(), cdsign_algo_str, cdsign_algo.
value.length());
53 ckagree_algo.
name =
"c.kagree_algo";
54 const char* ckagree_algo_str = dh_.kagree_algo();
55 ckagree_algo.
value.length(static_cast<unsigned int>(std::strlen(ckagree_algo_str)) + 1);
56 std::memcpy(ckagree_algo.
value.get_buffer(), ckagree_algo_str, ckagree_algo.
value.length());
62 *inserter = cdsign_algo;
63 *inserter = ckagree_algo;
82 "LocalAuthCredentialData::load_access_permissions: " 83 "no 'dds.perm.cert' property provided");
87 const size_t len = std::strlen(cperm);
88 access_permissions_.length(static_cast<CORBA::ULong>(len + 1));
89 std::memcpy(&access_permissions_[0], cperm, len + 1);
97 ACE_DEBUG((
LM_DEBUG,
"(%P|%t) LocalAuthCredentialData::load: Number of Properties: %i\n", props.length()));
100 std::string pkey_uri, password;
101 for (
unsigned int i = 0; i < props.length(); ++i) {
102 const std::string
name = props[i].name.in(),
value = props[i].value.in();
105 ACE_DEBUG((
LM_DEBUG,
"(%P|%t) LocalAuthCredentialData::load: property %i: %C: %C\n",
106 i, name.c_str(),
value.c_str()));
124 if (!pkey_uri.empty()) {
129 set_security_error(ex, -1, 0,
"LocalAuthCredentialData::load: failed to load CA certificate");
132 }
else if (!participant_cert_) {
133 set_security_error(ex, -1, 0,
"LocalAuthCredentialData::load: failed to load participant certificate");
136 }
else if (!participant_pkey_) {
137 set_security_error(ex, -1, 0,
"LocalAuthCredentialData::load: failed to load participant private key");
const char AuthPassword[]
bool load_credentials(const DDS::PropertySeq &props, DDS::Security::SecurityException &ex)
const LogLevel::Value value
Implements some simple wrapper functions to provide a const API around the Token data structure as sp...
bool load_access_permissions(const DDS::Security::PermissionsCredentialToken &src, DDS::Security::SecurityException &ex)
int hash_serialized(const DDS::BinaryPropertySeq &src, DDS::OctetSeq &dst)
const char AuthIdentityCA[]
const char AuthPrivateKey[]
LocalAuthCredentialData()
DDS::BinaryPropertySeq BinaryPropertySeq
DDS::PropertySeq PropertySeq
sequence< octet > OctetSeq
const char * get_property_value(const std::string &property_name) const
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
const char AuthIdentityCertificate[]
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
bool set_security_error(DDS::Security::SecurityException &ex, int code, int minor_code, const char *message)
int operator()(DDS::OctetSeq &dst) const
The Internal API and Implementation of OpenDDS.
virtual ~LocalAuthCredentialData()