12 namespace CommonUtilities {
17 : scheme(URI_UNKNOWN), everything_else(
"")
19 typedef std::vector<std::pair<std::string, Scheme> > uri_pattern_t;
21 uri_pattern_t uri_patterns;
22 uri_patterns.push_back(std::make_pair(
"file:",
URI_FILE));
23 uri_patterns.push_back(std::make_pair(
"data:",
URI_DATA));
24 uri_patterns.push_back(std::make_pair(
"pkcs11:",
URI_PKCS11));
26 for (uri_pattern_t::iterator i = uri_patterns.begin();
27 i != uri_patterns.end(); ++i) {
28 const std::string& pfx = i->first;
29 size_t pfx_end = pfx.length();
31 if (src.substr(0, pfx_end) == pfx) {
44 static const int LAST_POSITIVE_HANDLE(0x7fffffff);
45 static const int FIRST_NEGATIVE_HANDLE(-LAST_POSITIVE_HANDLE);
48 "increment_handle ERROR - out of handles\n"));
52 if (next == LAST_POSITIVE_HANDLE) {
53 next = FIRST_NEGATIVE_HANDLE;
75 const unsigned char (&a1)[4],
76 const unsigned char (&a2)[4])
78 std::string full(message);
79 const size_t i = full.size();
81 std::sprintf(&full[i],
" %.2x %.2x %.2x %.2x, %.2x %.2x %.2x %.2x",
82 a1[0], a1[1], a1[2], a1[3], a2[0], a2[1], a2[2], a2[3]);
88 if (!keyKind[0] && !keyKind[1] && !keyKind[2]) {
91 return "CRYPTO_TRANSFORMATION_KIND_NONE";
93 return "CRYPTO_TRANSFORMATION_KIND_AES128_GMAC";
95 return "CRYPTO_TRANSFORMATION_KIND_AES128_GCM";
97 return "CRYPTO_TRANSFORMATION_KIND_AES256_GMAC";
99 return "CRYPTO_TRANSFORMATION_KIND_AES256_GCM";
103 ACE_TEXT(
"%C is either invalid or not recognized.\n"),
105 return "Invalid CryptoTransformKind";
115 if (keyData.length()) {
CryptoTransformKeyId receiver_specific_key_id
const octet CRYPTO_TRANSFORMATION_KIND_AES256_GCM
sequence< octet, 32 > KeyOctetSeq
OPENDDS_STRING to_dds_string(const KeyOctetSeq &keyData)
const octet CRYPTO_TRANSFORMATION_KIND_NONE
const octet CRYPTO_TRANSFORMATION_KIND_AES128_GCM
KeyOctetSeq master_receiver_specific_key
octet CryptoTransformKeyId[4]
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused as reported by Andy Elvey and Dan Kosecki *resynced with Christopher Diggins s branch as it exists in tree building code is back Christopher Diggins *resynced codebase with Chris s branch *removed tree building code
const char * ctk_to_dds_string(const CryptoTransformKind &keyKind)
KeyOctetSeq master_sender_key
const octet CRYPTO_TRANSFORMATION_KIND_AES128_GMAC
String to_hex_dds_string(const unsigned char *data, const size_t size, const char delim, const size_t delim_every)
int increment_handle(int &next)
std::string everything_else
octet CryptoTransformKind[4]
const octet CRYPTO_TRANSFORMATION_KIND_AES256_GMAC
CryptoTransformKeyId sender_key_id
OPENDDS_STRING ctki_to_dds_string(const CryptoTransformKeyId &keyId)
CryptoTransformKind transformation_kind
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
URI(const std::string &src)
bool set_security_error(DDS::Security::SecurityException &ex, int code, int minor_code, const char *message)
The Internal API and Implementation of OpenDDS.