PROTON-1946: [cpp] connection config parser incorrect defaults - Change default "host" to "localhost" (was "") - Only throw proton::error, don't leak jsoncpp exceptions - Add tests for SASL/TLS behavior - Treat explicit "null" valued field as equivalent to a missing field
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/b3421517 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/b3421517 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/b3421517 Branch: refs/heads/go1 Commit: b34215170680ebb2f6b60604374c58f598b45803 Parents: 1b554aa Author: Alan Conway <acon...@redhat.com> Authored: Mon Oct 1 14:54:35 2018 -0400 Committer: Alan Conway <acon...@redhat.com> Committed: Tue Oct 2 10:18:46 2018 -0400 ---------------------------------------------------------------------- cpp/CMakeLists.txt | 30 ++-- cpp/src/connect_config.cpp | 103 +++++------ cpp/src/connect_config_test.cpp | 171 +++++++++++++++++-- cpp/testdata/.config/messaging/TEST | 1 + cpp/testdata/certs/bad-server-certificate.p12 | Bin 0 -> 2186 bytes cpp/testdata/certs/bad-server-certificate.pem | 31 ++++ cpp/testdata/certs/bad-server-private-key.pem | 21 +++ cpp/testdata/certs/bad-server.pkcs12 | Bin 0 -> 2223 bytes cpp/testdata/certs/ca-certificate.p12 | Bin 0 -> 1408 bytes cpp/testdata/certs/ca-certificate.pem | 32 ++++ cpp/testdata/certs/ca.pkcs12 | Bin 0 -> 2263 bytes cpp/testdata/certs/client-certificate.p12 | Bin 0 -> 2242 bytes cpp/testdata/certs/client-certificate.pem | 26 +++ cpp/testdata/certs/client-certificate1.p12 | Bin 0 -> 2300 bytes cpp/testdata/certs/client-certificate1.pem | 27 +++ .../certs/client-private-key-no-password.pem | 19 +++ cpp/testdata/certs/client-private-key.pem | 21 +++ cpp/testdata/certs/client-private-key1.pem | 21 +++ cpp/testdata/certs/client-request.pem | 24 +++ cpp/testdata/certs/client-request1.pem | 25 +++ cpp/testdata/certs/client.pkcs12 | Bin 0 -> 2231 bytes cpp/testdata/certs/client1.pkcs12 | Bin 0 -> 2345 bytes cpp/testdata/certs/make_certs.sh | 57 +++++++ cpp/testdata/certs/server-certificate-lh.pem | 26 +++ cpp/testdata/certs/server-certificate.p12 | Bin 0 -> 2258 bytes cpp/testdata/certs/server-certificate.pem | 27 +++ cpp/testdata/certs/server-lh.pkcs12 | Bin 0 -> 2199 bytes cpp/testdata/certs/server-private-key-lh.pem | 21 +++ cpp/testdata/certs/server-private-key.pem | 21 +++ cpp/testdata/certs/server-request-lh.pem | 23 +++ cpp/testdata/certs/server-request.pem | 24 +++ cpp/testdata/certs/server-wc-certificate.p12 | Bin 0 -> 2320 bytes cpp/testdata/certs/server-wc-certificate.pem | 28 +++ cpp/testdata/certs/server-wc-private-key.pem | 21 +++ cpp/testdata/certs/server-wc-request.pem | 25 +++ cpp/testdata/certs/server-wc.pkcs12 | Bin 0 -> 2317 bytes cpp/testdata/certs/server.pkcs12 | Bin 0 -> 2263 bytes cpp/testdata/sasl-conf/proton-server.conf.in | 2 + 38 files changed, 751 insertions(+), 76 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 35f5478..7d399d8 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -245,17 +245,17 @@ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/ProtonCppConfigVersion.cmake DESTINATION ${LIB_INSTALL_DIR}/cmake/ProtonCpp) +set(testdata "${CMAKE_CURRENT_BINARY_DIR}/testdata") +set(test_env "PN_SASL_CONFIG_PATH=${testdata}/sasl-conf") +if (CMAKE_SYSTEM_NAME STREQUAL Windows) + set(test_env ${test_env} "PATH=$<TARGET_FILE_DIR:qpid-proton>") +endif() + macro(add_cpp_test test) add_executable (${test} src/${test}.cpp) target_link_libraries (${test} qpid-proton-cpp ${PLATFORM_LIBS}) - if (CMAKE_SYSTEM_NAME STREQUAL Windows) - add_test (NAME cpp-${test} - COMMAND ${PN_ENV_SCRIPT} - "PATH=$<TARGET_FILE_DIR:qpid-proton>" - $<TARGET_FILE:${test}> ${ARGN}) - else () - add_test (NAME cpp-${test} COMMAND ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:${test}> ${ARGN}) - endif () + add_test (NAME cpp-${test} + COMMAND ${PN_ENV_SCRIPT} -- ${test_env} ${TEST_EXE_PREFIX_CMD} $<TARGET_FILE:${test}> ${ARGN}) endmacro(add_cpp_test) add_cpp_test(codec_test) @@ -270,9 +270,15 @@ add_cpp_test(url_test) add_cpp_test(reconnect_test) add_cpp_test(link_test) if (ENABLE_JSONCPP) - # Directories needed by connect_config tests - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/testdata/.config/messaging") add_cpp_test(connect_config_test) - set_tests_properties(cpp-connect_config_test PROPERTIES - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + target_link_libraries(connect_config_test qpid-proton-core) # For pn_sasl_enabled + set_tests_properties(cpp-connect_config_test PROPERTIES WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") + # Test data and output directories for connect_config_test + file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/testdata" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}") + if(CyrusSASL_Saslpasswd_EXECUTABLE) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/testdata/sasl-conf/proton-server.conf.in" + "${testdata}/sasl-conf/proton-server.conf") + execute_process(COMMAND echo password + COMMAND ${CyrusSASL_Saslpasswd_EXECUTABLE} -c -p -f "${testdata}/sasl-conf/proton.sasldb" -u proton user) + endif() endif() http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/src/connect_config.cpp ---------------------------------------------------------------------- diff --git a/cpp/src/connect_config.cpp b/cpp/src/connect_config.cpp index d85eb04..2bcbfc2 100644 --- a/cpp/src/connect_config.cpp +++ b/cpp/src/connect_config.cpp @@ -59,19 +59,19 @@ namespace connect_config { namespace { -void raise(const string& message) { - throw proton::error("connection configuration: " + message); +proton::error err(const string& message) { + return proton::error("connection configuration: " + message); } Value validate(ValueType t, const Value& v, const string& name) { if (v.type() != t) - raise(msg() << " '" << name << "' expected " << t << ", found " << v.type()); + throw err(msg() << " '" << name << "' expected " << t << ", found " << v.type()); return v; } Value get(ValueType t, const Value& obj, const char *key, const Value& dflt=Value()) { - Value v = (obj.type() != nullValue) ? obj.get(key, dflt) : dflt; - return validate(t, v, key); + Value v = obj.get(key, dflt); + return v.type() == nullValue ? dflt : validate(t, v, key); } bool get_bool(const Value& obj, const char *key, bool dflt) { @@ -91,11 +91,10 @@ static const string ETC_FILE_NAME("/etc/messaging/" + FILE_NAME); bool exists(const string& name) { return std::ifstream(name.c_str()).good(); } void parse_sasl(Value root, connection_options& opts) { - Value sasl = root.get("sasl", Value()); + Value sasl = get(objectValue, root, "sasl"); opts.sasl_enabled(get_bool(sasl, "enable", true)); + opts.sasl_allow_insecure_mechs(get_bool(sasl, "allow_insecure", false)); if (sasl.type() != nullValue) { - validate(objectValue, sasl, "sasl"); - opts.sasl_allow_insecure_mechs(get_bool(sasl, "allow_insecure", false)); Value mechs = sasl.get("mechanisms", Value()); switch (mechs.type()) { case nullValue: @@ -108,7 +107,7 @@ void parse_sasl(Value root, connection_options& opts) { for (ArrayIndex i= 0; i < mechs.size(); ++i) { Value v = mechs.get(i, Value()); if (v.type() != stringValue) { - raise(msg() << "'sasl/mechanisms' expect string elements, found " << v.type()); + throw err(msg() << "'sasl/mechanisms' expect string elements, found " << v.type()); } if (i > 0) s << " "; s << v.asString(); @@ -117,61 +116,65 @@ void parse_sasl(Value root, connection_options& opts) { break; } default: - raise(msg() << "'mechanisms' expected string or array, found " << mechs.type()); + throw err(msg() << "'mechanisms' expected string or array, found " << mechs.type()); } } } void parse_tls(const string& scheme, Value root, connection_options& opts) { - Value tls = root.get("tls", Value()); - if (tls.type() != nullValue) { - validate(objectValue, tls, "tls"); - if (scheme != "amqps") { - raise(msg() << "'tls' object is not allowed unless scheme is \"amqps\""); - } - string ca = get_string(tls, "ca", ""); + Value tls = get(objectValue, root, "tls"); + if (scheme == "amqps") { // TLS is enabled bool verify = get_bool(tls, "verify", true); - Value cert = get(stringValue, tls, "cert"); ssl::verify_mode mode = verify ? ssl::VERIFY_PEER_NAME : ssl::ANONYMOUS_PEER; - if (cert.type() != nullValue) { - Value key = get(stringValue, tls, "key"); - ssl_certificate cert2 = (key.type() != nullValue) ? - ssl_certificate(cert.asString(), key.asString()) : - ssl_certificate(cert.asString()); - opts.ssl_client_options(ssl_client_options(cert2, ca, mode)); - } else { - ssl_client_options(ssl_client_options(ca, mode)); + string ca = get_string(tls, "ca", ""); + string cert = get_string(tls, "cert", ""); + string key = get_string(tls, "key", ""); + ssl_client_options ssl_opts; + if (!cert.empty()) { + ssl_certificate sc = key.empty() ? ssl_certificate(cert) : ssl_certificate(cert, key); + ssl_opts = ssl_client_options(sc, ca, mode); + } else if (!ca.empty()) { + ssl_opts = ssl_client_options(ca, mode); } + opts.ssl_client_options(ssl_opts); + } else if (tls.type() != nullValue) { + throw err(msg() << "'tls' object not allowed unless scheme is \"amqps\""); } } } // namespace std::string parse(std::istream& is, connection_options& opts) { - Value root; - is >> root; + try { + Value root; + is >> root; - string scheme = get_string(root, "scheme", "amqps"); - if (scheme != "amqp" && scheme != "amqps") { - raise(msg() << "'scheme' must be \"amqp\" or \"amqps\""); - } + string scheme = get_string(root, "scheme", "amqps"); + if (scheme != "amqp" && scheme != "amqps") { + throw err(msg() << "'scheme' must be \"amqp\" or \"amqps\""); + } - string host = get_string(root, "host", ""); - opts.virtual_host(host.c_str()); + string host = get_string(root, "host", "localhost"); + opts.virtual_host(host.c_str()); - Value port = root.get("port", scheme); - if (!port.isIntegral() && !port.isString()) { - raise(msg() << "'port' expected string or integer, found " << port.type()); - } + Value port = root.get("port", scheme); + if (!port.isIntegral() && !port.isString()) { + throw err(msg() << "'port' expected string or integer, found " << port.type()); + } - Value user = root.get("user", Value()); - if (user.type() != nullValue) opts.user(validate(stringValue, user, "user").asString()); - Value password = root.get("password", Value()); - if (password.type() != nullValue) opts.password(validate(stringValue, password, "password").asString()); + Value user = get(stringValue, root, "user"); + if (user.type() != nullValue) opts.user(user.asString()); + Value password = get(stringValue, root, "password"); + if (password.type() != nullValue) opts.password(password.asString()); - parse_sasl(root, opts); - parse_tls(scheme, root, opts); - return host + ":" + port.asString(); + parse_sasl(root, opts); + parse_tls(scheme, root, opts); + return host + ":" + port.asString(); + } catch (const std::exception& e) { + throw err(e.what()); + } catch (...) { + throw err("unknown error"); + } } string default_file() { @@ -193,8 +196,7 @@ string default_file() { } /* /etc/messaging/FILE_NAME */ if (exists(ETC_FILE_NAME)) return ETC_FILE_NAME; - raise("no default configuration"); - return ""; // Never get here, keep compiler happy + throw err("no default configuration"); } string parse_default(connection_options& opts) { @@ -204,16 +206,15 @@ string parse_default(connection_options& opts) { f.exceptions(~std::ifstream::goodbit); f.open(name.c_str()); } catch (const std::exception& e) { - raise(msg() << "error opening '" << name << "': " << e.what()); + throw err(msg() << "error opening '" << name << "': " << e.what()); } try { return parse(f, opts); } catch (const std::exception& e) { - raise(msg() << "error parsing '" << name << "': " << e.what()); + throw err(msg() << "error parsing '" << name << "': " << e.what()); } catch (...) { - raise(msg() << "error parsing '" << name); + throw err(msg() << "error parsing '" << name); } - return ""; // Never get here, keep compiler happy } }} // namespace proton::connect_config http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/src/connect_config_test.cpp ---------------------------------------------------------------------- diff --git a/cpp/src/connect_config_test.cpp b/cpp/src/connect_config_test.cpp index 17f0c4b..0573f8f 100644 --- a/cpp/src/connect_config_test.cpp +++ b/cpp/src/connect_config_test.cpp @@ -27,6 +27,12 @@ #include "proton/listener.hpp" #include "proton/messaging_handler.hpp" #include "proton/transport.hpp" +#include "proton/ssl.hpp" +#include "proton/sasl.hpp" + +// The C++ API lacks a way to test for presence of extended SASL or SSL support. +#include "proton/sasl.h" +#include "proton/ssl.h" #include <sstream> #include <fstream> @@ -68,8 +74,8 @@ void test_addr() { connection_options opts; ASSERT_EQUAL("foo:bar", configure(opts, "{ \"host\":\"foo\", \"port\":\"bar\" }")); ASSERT_EQUAL("foo:1234", configure(opts, "{ \"host\":\"foo\", \"port\":\"1234\" }")); - ASSERT_EQUAL(":amqps", configure(opts, "{}")); - ASSERT_EQUAL(":amqp", configure(opts, "{\"scheme\":\"amqp\"}")); + ASSERT_EQUAL("localhost:amqps", configure(opts, "{}")); + ASSERT_EQUAL("localhost:amqp", configure(opts, "{\"scheme\":\"amqp\"}")); ASSERT_EQUAL("foo:bar", configure(opts, "{ \"host\":\"foo\", /* inline comment */\"port\":\"bar\" // end of line comment\n}")); ASSERT_THROWS_MSG(error, "'scheme' must be", configure(opts, "{\"scheme\":\"bad\"}")); @@ -78,17 +84,44 @@ void test_addr() { ASSERT_THROWS_MSG(error, "'host' expected string, found boolean", configure(opts, "{\"host\":true}")); } +// Hack to write strings with embedded '"' and newlines +#define RAW_STRING(...) #__VA_ARGS__ + +void test_invalid() { + connection_options opts; + ASSERT_THROWS_MSG(proton::error, "Missing '}'", configure(opts, "{")); + ASSERT_THROWS_MSG(proton::error, "Syntax error", configure(opts, "")); + ASSERT_THROWS_MSG(proton::error, "Missing ','", configure(opts, RAW_STRING({ "user":"x" "host":"y"}))); + ASSERT_THROWS_MSG(proton::error, "expected string", configure(opts, RAW_STRING({ "scheme":true}))); + ASSERT_THROWS_MSG(proton::error, "expected object", configure(opts, RAW_STRING({ "tls":""}))); + ASSERT_THROWS_MSG(proton::error, "expected object", configure(opts, RAW_STRING({ "sasl":true}))); + ASSERT_THROWS_MSG(proton::error, "expected boolean", configure(opts, RAW_STRING({ "sasl": { "enable":""}}))); + ASSERT_THROWS_MSG(proton::error, "expected boolean", configure(opts, RAW_STRING({ "tls": { "verify":""}}))); +} + class test_handler : public messaging_handler { protected: - string config_; - listener listener_; bool opened_; - proton::error_condition error_; + connection_options listen_opts_; + listener listener_; public: + test_handler(const connection_options& listen_opts = connection_options()) : + opened_(false), listen_opts_(listen_opts) {} + + string config_with_port(const string& bare_config) { + ostringstream ss; + ss << "{" << "\"port\":" << listener_.port() << ", " << bare_config << "}"; + return ss.str(); + } + + void connect(container& c, const string& bare_config) { + connection_options opts; + c.connect(configure(opts, config_with_port(bare_config)), opts); + } void on_container_start(container& c) PN_CPP_OVERRIDE { - listener_ = c.listen("//:0"); + listener_ = c.listen("//:0", listen_opts_); } virtual void check_connection(connection& c) {} @@ -106,9 +139,9 @@ class test_handler : public messaging_handler { FAIL("unexpected error " << e); } - void run(const string& config) { - config_ = config; + void run() { container(*this).run(); + ASSERT(opened_); } }; @@ -118,15 +151,113 @@ class test_default_connect : public test_handler { void on_container_start(container& c) PN_CPP_OVERRIDE { test_handler::on_container_start(c); ofstream os("connect.json"); - ASSERT(os << "{ \"port\": " << listener_.port() << "}" << endl); + ASSERT(os << config_with_port(RAW_STRING("scheme":"amqp"))); os.close(); c.connect(); } - void run() { - container(*this).run(); - ASSERT(opened_); - ASSERT(!error_); + void check_connection(connection& c) PN_CPP_OVERRIDE { + ASSERT_EQUAL("localhost", c.virtual_host()); + } +}; + +class test_host_user_pass : public test_handler { + public: + + void on_container_start(container& c) PN_CPP_OVERRIDE { + test_handler::on_container_start(c); + connect(c, RAW_STRING("scheme":"amqp", "host":"127.0.0.1", "user":"user@proton", "password":"password")); + } + + void check_connection(connection& c) PN_CPP_OVERRIDE { + ASSERT_EQUAL("127.0.0.1", c.virtual_host()); + if (pn_sasl_extended()) { + ASSERT_EQUAL("user@proton", c.user()); + } else { + ASSERT_EQUAL("anonymous", c.user()); + } + } +}; + +class test_tls : public test_handler { + static connection_options make_opts() { + ssl_certificate cert("testdata/certs/server-certificate.pem", + "testdata/certs/server-private-key.pem", + "server-password"); + connection_options opts; + opts.ssl_server_options(ssl_server_options(cert)); + return opts; + } + + public: + + test_tls() : test_handler(make_opts()) {} + + void on_container_start(container& c) PN_CPP_OVERRIDE { + test_handler::on_container_start(c); + connect(c, RAW_STRING("scheme":"amqps", "tls": { "verify":false })); + } +}; + +class test_tls_external : public test_handler { + + static connection_options make_opts() { + ssl_certificate cert("testdata/certs/server-certificate-lh.pem", + "testdata/certs/server-private-key-lh.pem", + "server-password"); + connection_options opts; + opts.ssl_server_options(ssl_server_options(cert, + "testdata/certs/ca-certificate.pem", + "testdata/certs/ca-certificate.pem", + ssl::VERIFY_PEER)); + return opts; + } + + public: + + test_tls_external() : test_handler(make_opts()) {} + + void on_container_start(container& c) PN_CPP_OVERRIDE { + test_handler::on_container_start(c); + connect(c, RAW_STRING( + "scheme":"amqps", + "sasl":{ "mechanisms": "EXTERNAL" }, + "tls": { + "cert":"testdata/certs/client-certificate.pem", + "key":"testdata/certs/client-private-key-no-password.pem", + "ca":"testdata/certs/ca-certificate.pem", + "verify":true })); + } +}; + +class test_tls_plain : public test_handler { + + static connection_options make_opts() { + ssl_certificate cert("testdata/certs/server-certificate-lh.pem", + "testdata/certs/server-private-key-lh.pem", + "server-password"); + connection_options opts; + opts.ssl_server_options(ssl_server_options(cert, + "testdata/certs/ca-certificate.pem", + "testdata/certs/ca-certificate.pem", + ssl::VERIFY_PEER)); + return opts; + } + + public: + + test_tls_plain() : test_handler(make_opts()) {} + + void on_container_start(container& c) PN_CPP_OVERRIDE { + test_handler::on_container_start(c); + connect(c, RAW_STRING( + "scheme":"amqps", "user":"user@proton", "password": "password", + "sasl":{ "mechanisms": "PLAIN" }, + "tls": { + "cert":"testdata/certs/client-certificate.pem", + "key":"testdata/certs/client-private-key-no-password.pem", + "ca":"testdata/certs/ca-certificate.pem", + "verify":true })); } }; @@ -137,6 +268,20 @@ int main(int argc, char** argv) { int failed = 0; RUN_ARGV_TEST(failed, test_default_file()); RUN_ARGV_TEST(failed, test_addr()); + RUN_ARGV_TEST(failed, test_invalid()); RUN_ARGV_TEST(failed, test_default_connect().run()); + RUN_ARGV_TEST(failed, test_host_user_pass().run()); + + pn_ssl_domain_t *have_ssl = pn_ssl_domain(PN_SSL_MODE_SERVER); + if (have_ssl) { + pn_ssl_domain_free(have_ssl); + RUN_ARGV_TEST(failed, test_tls().run()); + RUN_ARGV_TEST(failed, test_tls_external().run()); + if (pn_sasl_extended()) { + RUN_ARGV_TEST(failed, test_tls_plain().run()); + } + } else { + std::cout << "SKIP: TLS tests, not available" << std::endl; + } return failed; } http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/.config/messaging/TEST ---------------------------------------------------------------------- diff --git a/cpp/testdata/.config/messaging/TEST b/cpp/testdata/.config/messaging/TEST new file mode 100644 index 0000000..9537efb --- /dev/null +++ b/cpp/testdata/.config/messaging/TEST @@ -0,0 +1 @@ +Location for test config file \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/bad-server-certificate.p12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/bad-server-certificate.p12 b/cpp/testdata/certs/bad-server-certificate.p12 new file mode 100644 index 0000000..b986651 Binary files /dev/null and b/cpp/testdata/certs/bad-server-certificate.p12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/bad-server-certificate.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/bad-server-certificate.pem b/cpp/testdata/certs/bad-server-certificate.pem new file mode 100644 index 0000000..a18b890 --- /dev/null +++ b/cpp/testdata/certs/bad-server-certificate.pem @@ -0,0 +1,31 @@ +Bag Attributes + friendlyName: bad-server + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 34 33 33 37 +subject=/CN=127.0.0.1/O=Not Trusted Inc +issuer=/CN=127.0.0.1/O=Not Trusted Inc +-----BEGIN CERTIFICATE----- +MIIEWjCCBAWgAwIBAgIEZQJ1MDANBglghkgBZQMEAwIFADAuMRIwEAYDVQQDEwkx +MjcuMC4wLjExGDAWBgNVBAoTD05vdCBUcnVzdGVkIEluYzAgFw0xODEwMDIwMjU3 +NDRaGA8yMjkyMDcxNjAyNTc0NFowLjESMBAGA1UEAxMJMTI3LjAuMC4xMRgwFgYD +VQQKEw9Ob3QgVHJ1c3RlZCBJbmMwggNCMIICNQYHKoZIzjgEATCCAigCggEBAI95 +Ndm5qum/q+2Ies9JUbbzLsWeO683GOjqxJYfPv02BudDUanEGDM5uAnnwq4cU5un +R1uF0BGtuLR5h3VJhGlcrA6PFLM2CCiiL/onEQo9YqmTRTQJoP5pbEZY+EvdIIGc +NwmgEFexla3NACM9ulSEtikfnWSO+INEhneXnOwEtDSmrC516Zhd4j2wKS/BEYyf ++p2BgeczjbeStzDXueNJWS9oCZhyFTkV6j1ri0ZTxjNFj4A7MqTC4PJykCVuTj+K +Owg4ocRQ5OGMGimjfd9eoUPeS2b/BJA+1c8WI+FY1IfGCOl/IRzYHcojy244B2X4 +IuNCvkhMBXY5OWAc1mcCHQC69pamhXj3397n+mfJd8eF7zKyM7rlgMC81WldAoIB +ABamXFggSFBwTnUCo5dXBA002jo0eMFU1OSlwC0kLuBPluYeS9CQSr2sjzfuseCf +MYLSPJBDy2QviABBYO35ygmzIHannDKmJ/JHPpGHm6LE50S9IIFUTLVbgCw2jR+o +PtSJ6U4PoGiOMkKKXHjEeMaNBSe3HJo6uwsL4SxEaJY559POdNsQGmWqK4f2TGgm +2z7HL0tVmYNLtO2wL3yQ6aSW06VdU1vr/EXU9hn2Pz3tu4c5JcLyJOB3MSltqIfs +HkdI+H77X963VIQxayIy3uVT3a8CESsNHwLaMJcyJP4nrtqLnUspItm6i+Oe2eED +pjxSgQvGiLfi7UMW4e8X294DggEFAAKCAQAKvekP2/H9NsTDIq8HlIUiyYxxLGzv +GDCBruQ7QF8Qqijzkp/cMMQJ6dmPfsga9UCcNjrwixcNq3tI17Cmzj3kEWPOLUeo +f0ub9j0mBMUqT0V2WzE9jus5nAWvasdNICCFBPYJzSLeu+qsU0qeMKVeq38dXA/o +WDcGFIWxU1QhZ4Cc9l6QAAguE54KSIzwMNwzE1jJUmCflmSgl2PYuw7cDGhZrw2j +NUfVmZzQ83iUAd/HrGafXKqtFOD55burf+wZqyUjJpTBo5TCCWXuyHHcn79obRpy +4hzeZRc/DyM2r2VsHEEeCbOJVD91GOJmfDRE94sGEHyp+q3LLjxcKwjioyEwHzAd +BgNVHQ4EFgQUJ0NBCiT1XKnqZ/EFlYiODE+npAMwDQYJYIZIAWUDBAMCBQADQAAw +PQIdAK563jEEkDEhYl11yURvpkLmdUCi03QGI28b9TECHGGaXLOjJ4qDYXj+pAG4 +vWiU3+LoVvFRKAdQjXU= +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/bad-server-private-key.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/bad-server-private-key.pem b/cpp/testdata/certs/bad-server-private-key.pem new file mode 100644 index 0000000..d6c5290 --- /dev/null +++ b/cpp/testdata/certs/bad-server-private-key.pem @@ -0,0 +1,21 @@ +Bag Attributes + friendlyName: bad-server + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 34 33 33 37 +Key Attributes: <No Attributes> +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIN4MFpSDG6hgCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECINvxSQeBIj4BIICaIr+2ZZG1iGE +czibL6bT7/fLSJve9AKBFjZFhrDNy6YD5Kr+SeCKHZhB/dY4xJlwtYngLrb+7Q4P +R9wI0yDpXKawSIY9xJ6ZMv0t9nzfPXc7zC2RPzKPe4GTLLrl2Ji6Jt1etVS0gS2R +ow4fkwuO+f1lIEs7gpZqSYP3UG6Z0Y3kRgCgKrEB8cv8SJKPx5/g8y2pQthCcfdD +0vZvSG1U44wwrjZHXUWIeZogMnyV9yXgY6XDpWdUbyOr7Gf7qSrqSVlGrVdhAes/ +/li0hkp6tzoKV+/IE6M9lHqdvuu8T9GKCAoba80UQ3XPc3WVKx2ZrQOqsmrOUH7a +kZQMygcyaSgI0VUSUudZdJ0k88Tbh9h8IDzdhUjE3i9WLF1hyqHESCHipWImvuTg +TzuWawJnf8mvtKiSVc9dzothBOyk9xR0EQ95rHFpXReQOfZEvLQqCw8Y3TOWKpbU +Uwc2gd9y2B/Pd3uiYYz5Urvu+usd80qVD18kwSp1U+FFCcP9kgj8ak6JgkmEYTeQ +FzNNkTFP5mc11r4Reh1brl5yvoKHRs6CRDCxuNTTwJ+i1cBqUAcZVq5nwzujOT06 +JWM6bCoBaygmyJMNDmaBGToalS3GqOvI356hGz2kPvu4M4uEBhrfzt/6Xx0/AFkI +h4wgq+ddmOqM5ZsdGdALbKH/rSiTM03DLEAIdkAAhjnvjeBHdOMa3sytfNG6mtQE +rhND+SE+cKHE003e3/WYuSZbB6ZQSkcyI4EkLIfWYcZnPBhahORvD1L+xbuGPwCq +ET/hD6LDGdVns4QeXGtseR7gzedzObNRXTPtW+QKB9Y= +-----END ENCRYPTED PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/bad-server.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/bad-server.pkcs12 b/cpp/testdata/certs/bad-server.pkcs12 new file mode 100644 index 0000000..8bbf3c6 Binary files /dev/null and b/cpp/testdata/certs/bad-server.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/ca-certificate.p12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/ca-certificate.p12 b/cpp/testdata/certs/ca-certificate.p12 new file mode 100644 index 0000000..d165ec2 Binary files /dev/null and b/cpp/testdata/certs/ca-certificate.p12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/ca-certificate.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/ca-certificate.pem b/cpp/testdata/certs/ca-certificate.pem new file mode 100644 index 0000000..e7a7ff8 --- /dev/null +++ b/cpp/testdata/certs/ca-certificate.pem @@ -0,0 +1,32 @@ +Bag Attributes + friendlyName: ca + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 35 39 32 34 31 +subject=/CN=Trusted.CA.com/O=Trust Me Inc. +issuer=/CN=Trusted.CA.com/O=Trust Me Inc. +-----BEGIN CERTIFICATE----- +MIIEozCCBE6gAwIBAgIEAW3CPDANBglghkgBZQMEAwIFADAxMRcwFQYDVQQDEw5U +cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0xODEwMDIw +MjU3MzlaGA8yMjkyMDcxNjAyNTczOVowMTEXMBUGA1UEAxMOVHJ1c3RlZC5DQS5j +b20xFjAUBgNVBAoTDVRydXN0IE1lIEluYy4wggNCMIICNQYHKoZIzjgEATCCAigC +ggEBAI95Ndm5qum/q+2Ies9JUbbzLsWeO683GOjqxJYfPv02BudDUanEGDM5uAnn +wq4cU5unR1uF0BGtuLR5h3VJhGlcrA6PFLM2CCiiL/onEQo9YqmTRTQJoP5pbEZY ++EvdIIGcNwmgEFexla3NACM9ulSEtikfnWSO+INEhneXnOwEtDSmrC516Zhd4j2w +KS/BEYyf+p2BgeczjbeStzDXueNJWS9oCZhyFTkV6j1ri0ZTxjNFj4A7MqTC4PJy +kCVuTj+KOwg4ocRQ5OGMGimjfd9eoUPeS2b/BJA+1c8WI+FY1IfGCOl/IRzYHcoj +y244B2X4IuNCvkhMBXY5OWAc1mcCHQC69pamhXj3397n+mfJd8eF7zKyM7rlgMC8 +1WldAoIBABamXFggSFBwTnUCo5dXBA002jo0eMFU1OSlwC0kLuBPluYeS9CQSr2s +jzfuseCfMYLSPJBDy2QviABBYO35ygmzIHannDKmJ/JHPpGHm6LE50S9IIFUTLVb +gCw2jR+oPtSJ6U4PoGiOMkKKXHjEeMaNBSe3HJo6uwsL4SxEaJY559POdNsQGmWq +K4f2TGgm2z7HL0tVmYNLtO2wL3yQ6aSW06VdU1vr/EXU9hn2Pz3tu4c5JcLyJOB3 +MSltqIfsHkdI+H77X963VIQxayIy3uVT3a8CESsNHwLaMJcyJP4nrtqLnUspItm6 +i+Oe2eEDpjxSgQvGiLfi7UMW4e8X294DggEFAAKCAQBi9HHyyKJh9nAYIfrOqR43 +CTVVlQ6ymAQ0owndzkNB2oHd/ZGyCbvHfT2pSKGe2Rp/SOa8fKzjZOqbN54YLZO9 +NxGd3qWPhTDvPs8kVWUDnnCjm1tuC4Xs4peYatcjlMnICRhM6RuKWk/iTSx7x9Ct +o74xb9QVMHfVnnchYY7aEFppaq1gaE0cdB5XQv9ARqm2Uk1HFSxArSLNCNCMOvQu +KpF0gebgw5IGvmfAbojdHR1jW+ha5cvdaF1xphxQYEty0OvePZA+rUl5EMW//ROl +mwUXQlPIvqVgayvyVAfXLVEAbc1J59ib7SlOo6aWTZ54vHOBZJf+QQeZFEnD17jG +o2QwYjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr +BgEFBQcDAjAOBgNVHQ8BAf8EBAMCAoQwHQYDVR0OBBYEFD2jgfVgC41G8Lhr/k3n +dPlJLcF8MA0GCWCGSAFlAwQDAgUAA0AAMD0CHQCT65TIzFwXa7Tam4ePyL/qO7oM +puqdHKEYsGL8Ahwcx3KGKTH7otV2J1Ha3UuiGqYU7HoL5ljVu5iN +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/ca.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/ca.pkcs12 b/cpp/testdata/certs/ca.pkcs12 new file mode 100644 index 0000000..6ef6338 Binary files /dev/null and b/cpp/testdata/certs/ca.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-certificate.p12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-certificate.p12 b/cpp/testdata/certs/client-certificate.p12 new file mode 100644 index 0000000..c83a4ed Binary files /dev/null and b/cpp/testdata/certs/client-certificate.p12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-certificate.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-certificate.pem b/cpp/testdata/certs/client-certificate.pem new file mode 100644 index 0000000..da7c186 --- /dev/null +++ b/cpp/testdata/certs/client-certificate.pem @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEdjCCBCCgAwIBAgIEdGE04zANBglghkgBZQMEAwIFADAxMRcwFQYDVQQDEw5U +cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0xODEwMDIw +MjU3NDJaGA8yMjkyMDcxNjAyNTc0MlowJTESMBAGA1UEAxMJMTI3LjAuMC4xMQ8w +DQYDVQQKEwZDbGllbnQwggNCMIICNQYHKoZIzjgEATCCAigCggEBAI95Ndm5qum/ +q+2Ies9JUbbzLsWeO683GOjqxJYfPv02BudDUanEGDM5uAnnwq4cU5unR1uF0BGt +uLR5h3VJhGlcrA6PFLM2CCiiL/onEQo9YqmTRTQJoP5pbEZY+EvdIIGcNwmgEFex +la3NACM9ulSEtikfnWSO+INEhneXnOwEtDSmrC516Zhd4j2wKS/BEYyf+p2Bgecz +jbeStzDXueNJWS9oCZhyFTkV6j1ri0ZTxjNFj4A7MqTC4PJykCVuTj+KOwg4ocRQ +5OGMGimjfd9eoUPeS2b/BJA+1c8WI+FY1IfGCOl/IRzYHcojy244B2X4IuNCvkhM +BXY5OWAc1mcCHQC69pamhXj3397n+mfJd8eF7zKyM7rlgMC81WldAoIBABamXFgg +SFBwTnUCo5dXBA002jo0eMFU1OSlwC0kLuBPluYeS9CQSr2sjzfuseCfMYLSPJBD +y2QviABBYO35ygmzIHannDKmJ/JHPpGHm6LE50S9IIFUTLVbgCw2jR+oPtSJ6U4P +oGiOMkKKXHjEeMaNBSe3HJo6uwsL4SxEaJY559POdNsQGmWqK4f2TGgm2z7HL0tV +mYNLtO2wL3yQ6aSW06VdU1vr/EXU9hn2Pz3tu4c5JcLyJOB3MSltqIfsHkdI+H77 +X963VIQxayIy3uVT3a8CESsNHwLaMJcyJP4nrtqLnUspItm6i+Oe2eEDpjxSgQvG +iLfi7UMW4e8X294DggEFAAKCAQBAeiJsw6hYkJKR7Sgd5Ay8IhnlKfpMxcEUTKkm +UfFt/HafsQF7XXVqik3+QEtUeDiXsYxIX0xrPI/PrDM2octK3CZlcNe2MAUfmbuB +NaeQmAek96Jyui2sPO2wCqXn6uj64LF4VAA2a4Qu843kx3kdrzh5ruGaVXrkDoDU +xbfbpjeNJHkW/EacNO12pnMWRqkTU+Daj0nb6daNrzu1Soon+0+TuADvepe6AClV +LgHZ+/gR3e+45UK9bs8RZpFlKy/S0PHVF32AtZAeFrtJpNrq7itpWZvJux16yoWW +tvSFMti3LvATMV/0z/3S21fLLK5rnZNIFO5KS5hn9ajBwtOgo0IwQDAfBgNVHSME +GDAWgBQ9o4H1YAuNRvC4a/5N53T5SS3BfDAdBgNVHQ4EFgQUzKZ8bzmfn/iJAEmd +YdtqKdVAfGkwDQYJYIZIAWUDBAMCBQADQQAwPgIdAJa+UfWOdTeBjYjbL4gAtMKf +0Anf5279cwXzxncCHQCC1NI/wj63MrhbSIcs+5wEsJ8DQsQy/cdQWjQO +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-certificate1.p12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-certificate1.p12 b/cpp/testdata/certs/client-certificate1.p12 new file mode 100644 index 0000000..b96511b Binary files /dev/null and b/cpp/testdata/certs/client-certificate1.p12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-certificate1.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-certificate1.pem b/cpp/testdata/certs/client-certificate1.pem new file mode 100644 index 0000000..16fbcb5 --- /dev/null +++ b/cpp/testdata/certs/client-certificate1.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEqzCCBFegAwIBAgIEC1BF+zANBglghkgBZQMEAwIFADAxMRcwFQYDVQQDEw5U +cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0xODEwMDIw +MjU3NDNaGA8yMjkyMDcxNjAyNTc0M1owXDEMMAoGA1UECxMDRGV2MQ0wCwYDVQQH +EwRDaXR5MQswCQYDVQQIEwJTVDELMAkGA1UEBhMCVVMxEjAQBgNVBAMTCTEyNy4w +LjAuMTEPMA0GA1UEChMGQ2xpZW50MIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCP +eTXZuarpv6vtiHrPSVG28y7FnjuvNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFOb +p0dbhdARrbi0eYd1SYRpXKwOjxSzNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCB +nDcJoBBXsZWtzQAjPbpUhLYpH51kjviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGM +n/qdgYHnM423krcw17njSVkvaAmYchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ +ijsIOKHEUOThjBopo33fXqFD3ktm/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl ++CLjQr5ITAV2OTlgHNZnAh0AuvaWpoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKC +AQAWplxYIEhQcE51AqOXVwQNNNo6NHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHg +nzGC0jyQQ8tkL4gAQWDt+coJsyB2p5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0f +qD7UielOD6BojjJCilx4xHjGjQUntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxo +Jts+xy9LVZmDS7TtsC98kOmkltOlXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH +7B5HSPh++1/et1SEMWsiMt7lU92vAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnh +A6Y8UoELxoi34u1DFuHvF9veA4IBBQACggEAP6WuNvc2HWNn9yhtvaXjdmdF99VE +XnJJzDYTQH0gOZgWJbB+Wu/ybSYz2/lvhFWw22rp/8hYfcnW1W8X2RBidzhhevKV +bhj3JrjSR2u2H53K3tve2nhteo84Hu8On8dywCcVcmIIeMzRnYWb14DK0QV1YX1K +Ks8Or+2h14i93cpzhqGd5CuvbeoHQilLxWcjpmTK4fhSfXeE+KrSund79naFXMha +bvJlcrNkXxLPTkVxPFmFVWuS7nI6h5KoPfyLWGZUjeehTTTP6aFDyxbBULnMcNq5 +AZBWi6t6iNWdbzNkcfki2uYv3mIEXVr2C2nvS2LE/n0I4T9tjkr0jD2kOqNCMEAw +HwYDVR0jBBgwFoAUPaOB9WALjUbwuGv+Ted0+UktwXwwHQYDVR0OBBYEFMXbw8rs +5agCIXAWjyMYZaHrMPrMMA0GCWCGSAFlAwQDAgUAAz8AMDwCHBkFCKc1WPj6bZbf +Z+MoJi5pNHKT0DlNIBmX8/8CHBGEd72cWKZBmkhlSgI5kMACamJyuYRBIaVD3/Y= +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-private-key-no-password.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-private-key-no-password.pem b/cpp/testdata/certs/client-private-key-no-password.pem new file mode 100644 index 0000000..cb02fd9 --- /dev/null +++ b/cpp/testdata/certs/client-private-key-no-password.pem @@ -0,0 +1,19 @@ +Bag Attributes + friendlyName: client-certificate + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 31 39 34 35 +Key Attributes: <No Attributes> +-----BEGIN PRIVATE KEY----- +MIICXAIBADCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7F +njuvNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwO +jxSzNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYp +H51kjviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkv +aAmYchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD +3ktm/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0A +uvaWpoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQN +NNo6NHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJ +syB2p5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjG +jQUntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmk +ltOlXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7l +U92vAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9ve +BB4CHDooXtQ8wzgxsdAvDqgVW9IHuar1l+//1qxE3kg= +-----END PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-private-key.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-private-key.pem b/cpp/testdata/certs/client-private-key.pem new file mode 100644 index 0000000..92d7d89 --- /dev/null +++ b/cpp/testdata/certs/client-private-key.pem @@ -0,0 +1,21 @@ +Bag Attributes + friendlyName: client-certificate + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 31 39 34 35 +Key Attributes: <No Attributes> +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIPRdD+ab7CMkCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECCbLUrG5jy6RBIICaP4jF1eYEHeH +wKuP1gxMn1fuKnzw7oo4YqZgZM9Fdi7wnaBvm4ZKEQsUdxB9zX4qzBo6PmWn4hVz +6WDBorMGpFDEqDBHkieZwxi2ypNmNCN5lLsHmqa6jSr4Hw6s+IKgNdaL/aINgeKy +xY8WfAfkGAiiDwRwmbLCRq+rP7BWgB9vEvt6wv5kNfFk041FeSgQvjrn3K8EteF4 +eXT1eO1xMsNmqZd2SCgWUUsVKooeV/jBIzxzHpNSE5vaBnTSoez/MIrFfotbbf09 +zYVRJdkwlCwthTqzfbLorNeKqAVkeI/jLiuI3SvXsKIwW3wAmmhPPd9ukh4+WRnk +YhT87OC9h8k5Z4O/0WIo73zGyfi7GeBcU69eMaQEkpf8Xnf3k9YjX3KnI5vlXEqY +3WpD8PFXrnySWx8BzNWVG9/HKgD3+cq2O37Prgd9ULP9azrW0CTzV3uwpnYHXpjj +jR+GYxf535rIu4PCoYaPq7tJzpSohMXK+cVeVp+UT40KZVXNkDBhI0B+au65QmKE +2cAaYd4ysr0mU0qQBInFc2g+wUPibDxXb7I5vhXEglDvI4VZVScHSAZN7usDxOcI +MtUmrpPNmjgHofvtXg+L784JrDkTyTWC1XUVE3EhP4oXuG9kWL84Q0OMhIlJKBuI +yQcwYuORWRU0b64kZigektRruBjZOzpYfN56VJaFlbGtVE5PIVrClPY65aGdNWUd +MJeTRm5KsHp5sHG8h2OsDkAiXbG1eaRkRLwyN/nESbLMjGGxueTuOW/xqAlt54dC +0x1H0MN1BToe7yua8mkSydyfidkGgFHc/S2nD3ot1ps= +-----END ENCRYPTED PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-private-key1.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-private-key1.pem b/cpp/testdata/certs/client-private-key1.pem new file mode 100644 index 0000000..071e5c5 --- /dev/null +++ b/cpp/testdata/certs/client-private-key1.pem @@ -0,0 +1,21 @@ +Bag Attributes + friendlyName: client-certificate1 + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 33 31 37 37 +Key Attributes: <No Attributes> +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIuxW2yTuxF0ICAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECMhCoBDSVwIfBIICaEJqhKKhkeNb +8x8iQ+JmrNaVWMVClv1Sg+ajTACgsLUyb5herY+Ph009/VwJmeTZtFRZofEa6Jtn +OvXCSkpnyzA02hV1gxXkAp8LUzS1QPVNSMikZs2zrvHz86wbe3N1P7fjz2YgSyKm +LIH6ozN85H5t6IF/yiZKxRn5869/d6r1J1CK/HJce8TZenaQCD5vtGLaHWFYaWpq +GCITj1Wbgq1E9KF3RjAvpCp+9vL//xUhQYPnM7SScCES+jfzU6pqXgKRaVKgbM+N +oMTnOo0PNlDbl+xRCrJuOEIpztDNFXaMAJLh2aswPfOzXctdTkVsqBfQuxY+nD2Q +jarTldSl8QfkMOKKgYf+xTtUmt5JDBZITr5MmaihrRsZQo5pjfHsYGgcC1r54FU8 +CkoiFsLHuZG0martgLA6N/k2+t152u97PKD2q2U0n6n6jniO7zqTjqn1sb3drxkj +7AaUSfK54zUJmTdnKGcYfK9tQRjKmAQenIbX5Qf+oq68vC+HWRbHz287ft0ZnXe6 +kiIpAUThvZ+i3wkLZcs69EPvtIk7NrdsA/k7gqipM+QpXMy1cmV0Fm6Qn1zsEDBw +108eQGP4Jd5tvTFoeXCVDKHm2wxZSieLmStDXohLIlzxtdbZnTLKtlkhE2NpVxz8 +bjjAg7Qji2CWa7HnNYTEjvzG/IELZxMtrr7nGs1Ee8QxeTufwJsqSoMud8LteGvp +wOy+BHciepBx9aohVX8s56wqVtrUmJfdrL/89ag4tvU8O155Wj0F/wOXpD658cwD +iMt5cgsyGrOz8+f6QASE85fSN7d9DJLD+iGtD5AcWNE= +-----END ENCRYPTED PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-request.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-request.pem b/cpp/testdata/certs/client-request.pem new file mode 100644 index 0000000..c5b8fb3 --- /dev/null +++ b/cpp/testdata/certs/client-request.pem @@ -0,0 +1,24 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIID9zCCA6ICAQAwJTESMBAGA1UEAxMJMTI3LjAuMC4xMQ8wDQYDVQQKEwZDbGll +bnQwggNCMIICNQYHKoZIzjgEATCCAigCggEBAI95Ndm5qum/q+2Ies9JUbbzLsWe +O683GOjqxJYfPv02BudDUanEGDM5uAnnwq4cU5unR1uF0BGtuLR5h3VJhGlcrA6P +FLM2CCiiL/onEQo9YqmTRTQJoP5pbEZY+EvdIIGcNwmgEFexla3NACM9ulSEtikf +nWSO+INEhneXnOwEtDSmrC516Zhd4j2wKS/BEYyf+p2BgeczjbeStzDXueNJWS9o +CZhyFTkV6j1ri0ZTxjNFj4A7MqTC4PJykCVuTj+KOwg4ocRQ5OGMGimjfd9eoUPe +S2b/BJA+1c8WI+FY1IfGCOl/IRzYHcojy244B2X4IuNCvkhMBXY5OWAc1mcCHQC6 +9pamhXj3397n+mfJd8eF7zKyM7rlgMC81WldAoIBABamXFggSFBwTnUCo5dXBA00 +2jo0eMFU1OSlwC0kLuBPluYeS9CQSr2sjzfuseCfMYLSPJBDy2QviABBYO35ygmz +IHannDKmJ/JHPpGHm6LE50S9IIFUTLVbgCw2jR+oPtSJ6U4PoGiOMkKKXHjEeMaN +BSe3HJo6uwsL4SxEaJY559POdNsQGmWqK4f2TGgm2z7HL0tVmYNLtO2wL3yQ6aSW +06VdU1vr/EXU9hn2Pz3tu4c5JcLyJOB3MSltqIfsHkdI+H77X963VIQxayIy3uVT +3a8CESsNHwLaMJcyJP4nrtqLnUspItm6i+Oe2eEDpjxSgQvGiLfi7UMW4e8X294D +ggEFAAKCAQBAeiJsw6hYkJKR7Sgd5Ay8IhnlKfpMxcEUTKkmUfFt/HafsQF7XXVq +ik3+QEtUeDiXsYxIX0xrPI/PrDM2octK3CZlcNe2MAUfmbuBNaeQmAek96Jyui2s +PO2wCqXn6uj64LF4VAA2a4Qu843kx3kdrzh5ruGaVXrkDoDUxbfbpjeNJHkW/Eac +NO12pnMWRqkTU+Daj0nb6daNrzu1Soon+0+TuADvepe6AClVLgHZ+/gR3e+45UK9 +bs8RZpFlKy/S0PHVF32AtZAeFrtJpNrq7itpWZvJux16yoWWtvSFMti3LvATMV/0 +z/3S21fLLK5rnZNIFO5KS5hn9ajBwtOgoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNV +HQ4EFgQUzKZ8bzmfn/iJAEmdYdtqKdVAfGkwDQYJYIZIAWUDBAMCBQADQAAwPQId +ALlARQZwWqzfFb1SvnNhmSdF4Mi7Uxg+J6fSiW8CHBUpOXuQdC1DLanxFZiQGwX0 +6r4ApU5duGCOBTc= +-----END NEW CERTIFICATE REQUEST----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client-request1.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client-request1.pem b/cpp/testdata/certs/client-request1.pem new file mode 100644 index 0000000..e8819ab --- /dev/null +++ b/cpp/testdata/certs/client-request1.pem @@ -0,0 +1,25 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIIELTCCA9kCAQAwXDEMMAoGA1UECxMDRGV2MQ0wCwYDVQQHEwRDaXR5MQswCQYD +VQQIEwJTVDELMAkGA1UEBhMCVVMxEjAQBgNVBAMTCTEyNy4wLjAuMTEPMA0GA1UE +ChMGQ2xpZW50MIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrP +SVG28y7FnjuvNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1 +SYRpXKwOjxSzNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAj +PbpUhLYpH51kjviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw +17njSVkvaAmYchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBop +o33fXqFD3ktm/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlg +HNZnAh0AuvaWpoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51 +AqOXVwQNNNo6NHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gA +QWDt+coJsyB2p5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJC +ilx4xHjGjQUntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7Tt +sC98kOmkltOlXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SE +MWsiMt7lU92vAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1D +FuHvF9veA4IBBQACggEAP6WuNvc2HWNn9yhtvaXjdmdF99VEXnJJzDYTQH0gOZgW +JbB+Wu/ybSYz2/lvhFWw22rp/8hYfcnW1W8X2RBidzhhevKVbhj3JrjSR2u2H53K +3tve2nhteo84Hu8On8dywCcVcmIIeMzRnYWb14DK0QV1YX1KKs8Or+2h14i93cpz +hqGd5CuvbeoHQilLxWcjpmTK4fhSfXeE+KrSund79naFXMhabvJlcrNkXxLPTkVx +PFmFVWuS7nI6h5KoPfyLWGZUjeehTTTP6aFDyxbBULnMcNq5AZBWi6t6iNWdbzNk +cfki2uYv3mIEXVr2C2nvS2LE/n0I4T9tjkr0jD2kOqAwMC4GCSqGSIb3DQEJDjEh +MB8wHQYDVR0OBBYEFMXbw8rs5agCIXAWjyMYZaHrMPrMMA0GCWCGSAFlAwQDAgUA +Az8AMDwCHEnHjXuiO2BX/JRz6Wg3nUCFt+Z0YbiuaQ8vhxQCHGTrDJZI2JRDsM+E +XmeCfhm9+upOobERNBL17wI= +-----END NEW CERTIFICATE REQUEST----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client.pkcs12 b/cpp/testdata/certs/client.pkcs12 new file mode 100644 index 0000000..1035c5e Binary files /dev/null and b/cpp/testdata/certs/client.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/client1.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/client1.pkcs12 b/cpp/testdata/certs/client1.pkcs12 new file mode 100644 index 0000000..b729a53 Binary files /dev/null and b/cpp/testdata/certs/client1.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/make_certs.sh ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/make_certs.sh b/cpp/testdata/certs/make_certs.sh new file mode 100755 index 0000000..073b620 --- /dev/null +++ b/cpp/testdata/certs/make_certs.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# Create certificates used by tests + +rm -f *.pem *.pkcs12 + +# Create a self-signed certificate for the CA, and a private key to sign certificate requests: +keytool -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -genkey -dname "O=Trust Me Inc.,CN=Trusted.CA.com" -validity 99999 -ext bc:c=ca:true,pathlen:0 -ext ku:c=digitalSignature,keyCertSign -ext ExtendedkeyUsage=serverAuth,clientAuth +openssl pkcs12 -nokeys -passin pass:ca-password -in ca.pkcs12 -passout pass:ca-password -out ca-certificate.pem + +# Create a certificate request for the server certificate. Use the CA's certificate to sign it: +keytool -storetype pkcs12 -keystore server.pkcs12 -storepass server-password -alias server-certificate -keypass server-password -genkey -dname "O=Server,CN=A1.Good.Server.domain.com" -validity 99999 +keytool -storetype pkcs12 -keystore server.pkcs12 -storepass server-password -alias server-certificate -keypass server-password -certreq -file server-request.pem +keytool -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -gencert -rfc -validity 99999 -infile server-request.pem -outfile server-certificate.pem +openssl pkcs12 -nocerts -passin pass:server-password -in server.pkcs12 -passout pass:server-password -out server-private-key.pem + +# Create a certificate request for a server certificate using localhost. Use the CA's certificate to sign it: +keytool -storetype pkcs12 -keystore server-lh.pkcs12 -storepass server-password -alias server-certificate -keypass server-password -genkey -dname "CN=localhost" -validity 99999 +keytool -storetype pkcs12 -keystore server-lh.pkcs12 -storepass server-password -alias server-certificate -keypass server-password -certreq -file server-request-lh.pem +keytool -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -gencert -rfc -validity 99999 -infile server-request-lh.pem -outfile server-certificate-lh.pem +openssl pkcs12 -nocerts -passin pass:server-password -in server-lh.pkcs12 -passout pass:server-password -out server-private-key-lh.pem + +# Create a certificate request for the client certificate. Use the CA's certificate to sign it: +keytool -storetype pkcs12 -keystore client.pkcs12 -storepass client-password -alias client-certificate -keypass client-password -genkey -dname "O=Client,CN=127.0.0.1" -validity 99999 +keytool -storetype pkcs12 -keystore client.pkcs12 -storepass client-password -alias client-certificate -keypass client-password -certreq -file client-request.pem +keytool -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -gencert -rfc -validity 99999 -infile client-request.pem -outfile client-certificate.pem +openssl pkcs12 -nocerts -passin pass:client-password -in client.pkcs12 -passout pass:client-password -out client-private-key.pem +openssl pkcs12 -nocerts -passin pass:client-password -in client.pkcs12 -nodes -out client-private-key-no-password.pem + +# Create another client certificate with a different subject line +keytool -storetype pkcs12 -keystore client1.pkcs12 -storepass client-password -alias client-certificate1 -keypass client-password -genkey -dname "O=Client,CN=127.0.0.1,C=US,ST=ST,L=City,OU=Dev" -validity 99999 +keytool -storetype pkcs12 -keystore client1.pkcs12 -storepass client-password -alias client-certificate1 -keypass client-password -certreq -file client-request1.pem +keytool -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -gencert -rfc -validity 99999 -infile client-request1.pem -outfile client-certificate1.pem +openssl pkcs12 -nocerts -passin pass:client-password -in client1.pkcs12 -passout pass:client-password -out client-private-key1.pem + +# Create a "bad" certificate - not signed by a trusted authority +keytool -storetype pkcs12 -keystore bad-server.pkcs12 -storepass server-password -alias bad-server -keypass server-password -genkey -dname "O=Not Trusted Inc,CN=127.0.0.1" -validity 99999 +openssl pkcs12 -nocerts -passin pass:server-password -in bad-server.pkcs12 -passout pass:server-password -out bad-server-private-key.pem +openssl pkcs12 -nokeys -passin pass:server-password -in bad-server.pkcs12 -passout pass:server-password -out bad-server-certificate.pem + +# Create a server certificate with several alternate names, including a wildcarded common name: +keytool -ext san=dns:alternate.name.one.com,dns:another.name.com -storetype pkcs12 -keystore server-wc.pkcs12 -storepass server-password -alias server-wc-certificate -keypass server-password -genkeypair -dname "O=Server,CN=*.prefix*.domain.com" -validity 99999 +keytool -ext san=dns:alternate.name.one.com,dns:another.name.com -storetype pkcs12 -keystore server-wc.pkcs12 -storepass server-password -alias server-wc-certificate -keypass server-password -certreq -file server-wc-request.pem +keytool -ext san=dns:alternate.name.one.com,dns:another.name.com -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -gencert -rfc -validity 99999 -infile server-wc-request.pem -outfile server-wc-certificate.pem +openssl pkcs12 -nocerts -passin pass:server-password -in server-wc.pkcs12 -passout pass:server-password -out server-wc-private-key.pem + +# Create pkcs12 versions of the above certificates (for Windows SChannel) +# The CA certificate store/DB is created without public keys. +# Give the "p12" files the same base name so the tests can just change the extension to switch between platforms. +# These certificates might work for OpenSSL <-> SChannel interop tests, but note that the DH cypher suite +# overlap is poor between platforms especially for older Windows versions. RSA certificates are better for +# interop (or PFS-friendly certificates on newer platforms). +openssl pkcs12 -export -out ca-certificate.p12 -in ca-certificate.pem -name ca-certificate -nokeys -passout pass: +openssl pkcs12 -export -out server-certificate.p12 -passin pass:server-password -passout pass:server-password -inkey server-private-key.pem -in server-certificate.pem -name server-certificate +openssl pkcs12 -export -out client-certificate.p12 -passin pass:client-password -passout pass:client-password -inkey client-private-key.pem -in client-certificate.pem -name client-certificate +openssl pkcs12 -export -out client-certificate1.p12 -passin pass:client-password -passout pass:client-password -inkey client-private-key1.pem -in client-certificate1.pem -name client-certificate1 +openssl pkcs12 -export -out bad-server-certificate.p12 -passin pass:server-password -passout pass:server-password -inkey bad-server-private-key.pem -in bad-server-certificate.pem -name bad-server +openssl pkcs12 -export -out server-wc-certificate.p12 -passin pass:server-password -passout pass:server-password -inkey server-wc-private-key.pem -in server-wc-certificate.pem -name server-wc-certificate http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-certificate-lh.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-certificate-lh.pem b/cpp/testdata/certs/server-certificate-lh.pem new file mode 100644 index 0000000..2f8af74 --- /dev/null +++ b/cpp/testdata/certs/server-certificate-lh.pem @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIEYzCCBA+gAwIBAgIEJgEJHzANBglghkgBZQMEAwIFADAxMRcwFQYDVQQDEw5U +cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0xODEwMDIw +MjU3NDFaGA8yMjkyMDcxNjAyNTc0MVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIID +QjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7FnjuvNxjo +6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSzNggo +oi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51kjviD +RIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmYchU5 +Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm/wSQ +PtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaWpoV4 +99/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6NHjB +VNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2p5wy +pifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUntxya +OrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOlXVNb +6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92vAhEr +DR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IBBQAC +ggEAaJDFkKEciZBEGohwGeijpVC76m8bJkaUpn/0anSaXg6Q7aVmKyXSfIjdVnEj +UKx9Sf3EHW0d6bogVZeDDKAAwjXOV0iqgbJCKb+U6iH9TICYFKLqLQcXpaNNhyS8 +16gZHRk5mke3eAuDUYCzJm8XjGyO0t8toR29MWg9Tq5ssLeGEECENXrykJjodM3E +LHGXR/tjFdIJ/2wJuu5KrXzagI6yuBA/Ux79kuS8HluVB+5QMmnxaRO5XHmOgvz5 +QyChDV/E6joL5DmIW6ZeyL9KAbxbK7ktktpQEc0sNUCKdqJwlC8LX4q9wCBPu2jp +RC/F/qXyea245qYL9yGv6XPn0KNCMEAwHwYDVR0jBBgwFoAUPaOB9WALjUbwuGv+ +Ted0+UktwXwwHQYDVR0OBBYEFO6Jp9fsRsqm1blc+X6d7GQezlkkMA0GCWCGSAFl +AwQDAgUAAz8AMDwCHDN3rhYg1G4UNxhBL0h8bJ3j8+nY+QvqJi1TpWsCHDOb5DOG +oXZrLyAjCqPziT3gBCe78nq/6Hmq+TQ= +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-certificate.p12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-certificate.p12 b/cpp/testdata/certs/server-certificate.p12 new file mode 100644 index 0000000..a3f2822 Binary files /dev/null and b/cpp/testdata/certs/server-certificate.p12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-certificate.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-certificate.pem b/cpp/testdata/certs/server-certificate.pem new file mode 100644 index 0000000..2bda16a --- /dev/null +++ b/cpp/testdata/certs/server-certificate.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEhDCCBDCgAwIBAgIEUj3FFjANBglghkgBZQMEAwIFADAxMRcwFQYDVQQDEw5U +cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0xODEwMDIw +MjU3NDBaGA8yMjkyMDcxNjAyNTc0MFowNTEiMCAGA1UEAxMZQTEuR29vZC5TZXJ2 +ZXIuZG9tYWluLmNvbTEPMA0GA1UEChMGU2VydmVyMIIDQjCCAjUGByqGSM44BAEw +ggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7FnjuvNxjo6sSWHz79NgbnQ1GpxBgz +ObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSzNggooi/6JxEKPWKpk0U0CaD+ +aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51kjviDRIZ3l5zsBLQ0pqwudemY +XeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmYchU5Feo9a4tGU8YzRY+AOzKk +wuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm/wSQPtXPFiPhWNSHxgjpfyEc +2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaWpoV499/e5/pnyXfHhe8ysjO6 +5YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6NHjBVNTkpcAtJC7gT5bmHkvQ +kEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2p5wypifyRz6Rh5uixOdEvSCB +VEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUntxyaOrsLC+EsRGiWOefTznTb +EBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOlXVNb6/xF1PYZ9j897buHOSXC +8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92vAhErDR8C2jCXMiT+J67ai51L +KSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IBBQACggEARp1TRM/rm22JyKZo +ojrNjWObZRCzcjpojjbAEr74RFnCIFZ3c9nyPDYGjM4cPlHR6vUhp0HJQXdV9Gd8 +0tDDgi+CiTBwvr9c5an100ldtUKRAKr043TK75LSm0UvtdSjVFVFA/9Te3I64iH2 +6zwVST+YkG7IIK12s3srvSMlx3ey3j7OwAhg6etwp8Kb6QyjfMtDOO95mbrVk4K1 +9D8j0j4GbqufwV5QG8KUMXH02YU+lcxE7+zENwCHUqYpo8dXIBan2lZoC9l5/BN/ +2kHviaTvwa7VzmVOLHkOjD447nKrYagMvV3otPHJSy1BGJGwIXX8NUdGlo5fncct +cWrueaNCMEAwHwYDVR0jBBgwFoAUPaOB9WALjUbwuGv+Ted0+UktwXwwHQYDVR0O +BBYEFJia3zvMshSHDBeQ2U0b6/XPKjYOMA0GCWCGSAFlAwQDAgUAAz8AMDwCHDmr +wNOSfEiL8Ydy84t/B900bF1T8wumTfSxRCsCHD5qNubQlBEXsanlQ3bVbZrGW7E6 +5hxv6u9Y7Ok= +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-lh.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-lh.pkcs12 b/cpp/testdata/certs/server-lh.pkcs12 new file mode 100644 index 0000000..63de556 Binary files /dev/null and b/cpp/testdata/certs/server-lh.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-private-key-lh.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-private-key-lh.pem b/cpp/testdata/certs/server-private-key-lh.pem new file mode 100644 index 0000000..e2fb27a --- /dev/null +++ b/cpp/testdata/certs/server-private-key-lh.pem @@ -0,0 +1,21 @@ +Bag Attributes + friendlyName: server-certificate + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 30 38 30 39 +Key Attributes: <No Attributes> +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQISxlyGoyD1QYCAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECC3Vui8i8+0kBIICaCnTZ7hk0APw +RyXxRWFOGGbgqPnseiHlq9pI1QOJN/zCa8EVUREIgdwGOO7VDw4JeOqR8SxxNL8H +QTm/pITLE5qY1cnBJXncNRnPlz6XlblHCJoSOeDz7cJb+wZPL5CEYFsgHBZ8Odf1 +9keZ+ur5rZDW6UcOgu4p+RKsauy7BBVBIJXL4JAXfWxXTOLd7GF0SKKulgLoS0vi +JQsCfGoIq5FJkp6GUwhnODCHfBEmddmH6AOS+lfxC6wjcXAqVYLsCuyw4Sm9QqdL +eaTjUYwXiSXdWMOqWdxzWhxkrrK9wh4qxYBMoWBcSr2iir1nhW2uu9182GbyEPNV +TOmQrxW/veJTEtRdZIAIs51C373FIDHkzsSsFHSZsFKZcOnpH5VfAWz0/g1i1/Rs +a8wsFYj0csyuIQJjKFc4N/gaFwkSZxYvl5Getk5Prxo27o10ZoF7P7lBszdUxf95 +GKa/4M9AI3ftPCAa53VreRxGayOKFe+bvyWEH9mIfXXbQbMEbE8KxZ/pz8f6xhHk +qbdJqlaVtzznZKl6Xp3UoDoJUf1pLJRIWiQENiTvlHdTtJGoL6eTqDU+0Kgtwnxg +wMDkjYW2x2FKvICz3QUB+8BeC1QCV22YVdgi7qt+qNnlsBEegERvSiq9agk9SULc +lcfVs+iAHgh0JdU85OKJ+QN9JgL3jmdXnSuZbdbZwNXzOHAyRMEMOTIp4d6AbcTK +giZmvjb/TwO/giQGqA+Aum0KY8JdyEy+SObP91jWu1yFt9jm7qppYHZZa31uGXBf +fJm1jqMP/zW/Vmzf62FWaLEHsU4DW8pAbAqkk1YMV7s= +-----END ENCRYPTED PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-private-key.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-private-key.pem b/cpp/testdata/certs/server-private-key.pem new file mode 100644 index 0000000..1cdfe72 --- /dev/null +++ b/cpp/testdata/certs/server-private-key.pem @@ -0,0 +1,21 @@ +Bag Attributes + friendlyName: server-certificate + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 35 39 36 34 36 +Key Attributes: <No Attributes> +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQInP4M1lKTezECAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECHnnILCeCb0tBIICaAYdJIuASx3+ +0N/BzvdlyRbkGRuW4c1eA8myfAOHP9aCpjhhWG/i0MRZYyo0XHcq3HuBMPKgsL/7 +/zEZ/sefL94xEp4pTtZZR6i8Ign1PqdEj7df7+NFxs5nottszInZQDxoqd+c6XF3 +YgtdGfSYF3WYtwjmijzCP51uiEFlytNQo3yLbn1QNdZPTI8HOTl8h7i+34oPzi66 +A8XNyCo02W14gZ+egq5op8pbq0+sS46PvGuK8xcJDOl6GrP/8T4C4sFE6mrC/Gg+ +uasqQFXo9O4gQgvJQPnGsk3RRDYG5AdM52uGBDM4kok66U4q4Vbd7rqegfwr+BIB +GSk2oBeCHjPZ3eOwSuoNFt13c91eaIXIWRh4XYRctaoJzaZg6E0a6s23u7tohajn +e8l/QX1NOUX4jb3mZVh24EvNsJKlMaWyaXdZvWJfWGYTvl8IeRVvX94t8m11ftWE +hzA707SCQSzYWU3Oit/+MbrLxwoerSeNz/Wzc5GMTJGm+2Vu+tlQt1KsBvUSnB/P +px5odaMO+kH2ipVjycmnpaqmskIE+NjasiLLgwub1FNMv4WDGeRs2lM7ZmgPEkX/ +/kSfr/fo9Ex0A+e1n7olXif/IJeFZ9RY0ZWTAvEv0W8DcX4rEOEgjbwtLJiQOBd1 +YfMLEktNGt2tnlKiGBG6CFKpUvBUhqUjwJey0ENIK2NXf2N9vHFGzmtF/xq3cuOn +dQBwicoBBka2ANhoA24K2Zm8L3n5eNWzVAHcOHAXRY7iy+QGdmgtASPk2a1b+F06 +l5sUGNB0koW9vFinj9Hc6xB/wASZp3NXBBC5jPZXf9M= +-----END ENCRYPTED PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-request-lh.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-request-lh.pem b/cpp/testdata/certs/server-request-lh.pem new file mode 100644 index 0000000..d550135 --- /dev/null +++ b/cpp/testdata/certs/server-request-lh.pem @@ -0,0 +1,23 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIID5TCCA5ECAQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MIIDQjCCAjUGByqGSM44 +BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7FnjuvNxjo6sSWHz79NgbnQ1Gp +xBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSzNggooi/6JxEKPWKpk0U0 +CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51kjviDRIZ3l5zsBLQ0pqwu +demYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmYchU5Feo9a4tGU8YzRY+A +OzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm/wSQPtXPFiPhWNSHxgjp +fyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaWpoV499/e5/pnyXfHhe8y +sjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6NHjBVNTkpcAtJC7gT5bm +HkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2p5wypifyRz6Rh5uixOdE +vSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUntxyaOrsLC+EsRGiWOefT +znTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOlXVNb6/xF1PYZ9j897buH +OSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92vAhErDR8C2jCXMiT+J67a +i51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IBBQACggEAaJDFkKEciZBE +GohwGeijpVC76m8bJkaUpn/0anSaXg6Q7aVmKyXSfIjdVnEjUKx9Sf3EHW0d6bog +VZeDDKAAwjXOV0iqgbJCKb+U6iH9TICYFKLqLQcXpaNNhyS816gZHRk5mke3eAuD +UYCzJm8XjGyO0t8toR29MWg9Tq5ssLeGEECENXrykJjodM3ELHGXR/tjFdIJ/2wJ +uu5KrXzagI6yuBA/Ux79kuS8HluVB+5QMmnxaRO5XHmOgvz5QyChDV/E6joL5DmI +W6ZeyL9KAbxbK7ktktpQEc0sNUCKdqJwlC8LX4q9wCBPu2jpRC/F/qXyea245qYL +9yGv6XPn0KAwMC4GCSqGSIb3DQEJDjEhMB8wHQYDVR0OBBYEFO6Jp9fsRsqm1blc ++X6d7GQezlkkMA0GCWCGSAFlAwQDAgUAAz8AMDwCHDLL/Bx68UXR2thddk3Bmj8a +vrQ57RXpgu+18M4CHCpcPKGIxBOzWKIw8KTp2BenpS2Pd9llGO+RYHs= +-----END NEW CERTIFICATE REQUEST----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-request.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-request.pem b/cpp/testdata/certs/server-request.pem new file mode 100644 index 0000000..accad0a --- /dev/null +++ b/cpp/testdata/certs/server-request.pem @@ -0,0 +1,24 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIIEBjCCA7ICAQAwNTEiMCAGA1UEAxMZQTEuR29vZC5TZXJ2ZXIuZG9tYWluLmNv +bTEPMA0GA1UEChMGU2VydmVyMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZ +uarpv6vtiHrPSVG28y7FnjuvNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0db +hdARrbi0eYd1SYRpXKwOjxSzNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJ +oBBXsZWtzQAjPbpUhLYpH51kjviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qd +gYHnM423krcw17njSVkvaAmYchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsI +OKHEUOThjBopo33fXqFD3ktm/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLj +Qr5ITAV2OTlgHNZnAh0AuvaWpoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAW +plxYIEhQcE51AqOXVwQNNNo6NHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC +0jyQQ8tkL4gAQWDt+coJsyB2p5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7U +ielOD6BojjJCilx4xHjGjQUntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+ +xy9LVZmDS7TtsC98kOmkltOlXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5H +SPh++1/et1SEMWsiMt7lU92vAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8 +UoELxoi34u1DFuHvF9veA4IBBQACggEARp1TRM/rm22JyKZoojrNjWObZRCzcjpo +jjbAEr74RFnCIFZ3c9nyPDYGjM4cPlHR6vUhp0HJQXdV9Gd80tDDgi+CiTBwvr9c +5an100ldtUKRAKr043TK75LSm0UvtdSjVFVFA/9Te3I64iH26zwVST+YkG7IIK12 +s3srvSMlx3ey3j7OwAhg6etwp8Kb6QyjfMtDOO95mbrVk4K19D8j0j4GbqufwV5Q +G8KUMXH02YU+lcxE7+zENwCHUqYpo8dXIBan2lZoC9l5/BN/2kHviaTvwa7VzmVO +LHkOjD447nKrYagMvV3otPHJSy1BGJGwIXX8NUdGlo5fncctcWrueaAwMC4GCSqG +SIb3DQEJDjEhMB8wHQYDVR0OBBYEFJia3zvMshSHDBeQ2U0b6/XPKjYOMA0GCWCG +SAFlAwQDAgUAAz8AMDwCHAVe2riCrlPBbpsFxmAJqF7PHDgOiCuIE5gPbI8CHCf5 +y75e09RGsjBmivZoThPFGrFYLdIvqF8dYk0= +-----END NEW CERTIFICATE REQUEST----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-wc-certificate.p12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-wc-certificate.p12 b/cpp/testdata/certs/server-wc-certificate.p12 new file mode 100644 index 0000000..20a9c81 Binary files /dev/null and b/cpp/testdata/certs/server-wc-certificate.p12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-wc-certificate.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-wc-certificate.pem b/cpp/testdata/certs/server-wc-certificate.pem new file mode 100644 index 0000000..cef7a78 --- /dev/null +++ b/cpp/testdata/certs/server-wc-certificate.pem @@ -0,0 +1,28 @@ +-----BEGIN CERTIFICATE----- +MIIEtjCCBGCgAwIBAgIEUkyrdTANBglghkgBZQMEAwIFADAxMRcwFQYDVQQDEw5U +cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0xODEwMDIw +MjU3NDVaGA8yMjkyMDcxNjAyNTc0NVowMDEdMBsGA1UEAwwUKi5wcmVmaXgqLmRv +bWFpbi5jb20xDzANBgNVBAoTBlNlcnZlcjCCA0IwggI1BgcqhkjOOAQBMIICKAKC +AQEAj3k12bmq6b+r7Yh6z0lRtvMuxZ47rzcY6OrElh8+/TYG50NRqcQYMzm4CefC +rhxTm6dHW4XQEa24tHmHdUmEaVysDo8UszYIKKIv+icRCj1iqZNFNAmg/mlsRlj4 +S90ggZw3CaAQV7GVrc0AIz26VIS2KR+dZI74g0SGd5ec7AS0NKasLnXpmF3iPbAp +L8ERjJ/6nYGB5zONt5K3MNe540lZL2gJmHIVORXqPWuLRlPGM0WPgDsypMLg8nKQ +JW5OP4o7CDihxFDk4YwaKaN9316hQ95LZv8EkD7VzxYj4VjUh8YI6X8hHNgdyiPL +bjgHZfgi40K+SEwFdjk5YBzWZwIdALr2lqaFePff3uf6Z8l3x4XvMrIzuuWAwLzV +aV0CggEAFqZcWCBIUHBOdQKjl1cEDTTaOjR4wVTU5KXALSQu4E+W5h5L0JBKvayP +N+6x4J8xgtI8kEPLZC+IAEFg7fnKCbMgdqecMqYn8kc+kYebosTnRL0ggVRMtVuA +LDaNH6g+1InpTg+gaI4yQopceMR4xo0FJ7ccmjq7CwvhLERoljnn08502xAaZaor +h/ZMaCbbPscvS1WZg0u07bAvfJDppJbTpV1TW+v8RdT2GfY/Pe27hzklwvIk4Hcx +KW2oh+weR0j4fvtf3rdUhDFrIjLe5VPdrwIRKw0fAtowlzIk/ieu2oudSyki2bqL +457Z4QOmPFKBC8aIt+LtQxbh7xfb3gOCAQUAAoIBAAVDMGlarHLWrMs4l+6xegQE +9H4WqDz7qFRdF0F7p2OEEC6kJ4DhuYaUvGETx+snVRbBiGbOyE1fyftcW+GrxUu1 +8pu1qb+emk4eLg1hxRqt/zmHEojRrqPH/Xii9BKLX1H3uileQwJu7JMjZ46DUkDc +OMqtLCldXxH1F1/cO94otknkwu7TY6Mu799i0QRSGEzUJ2oAHDD3N0vaCw0zipNC +H/w9AjL/SzIh0Rw+Et3/9Usa9q/BNy5+mhZqym7s56ori1fd7a5DFP1uk+QWphyT +3bwsIF/tWrm8+fKlIM+gSzgflgFUxwgabh6BrGf+0I/ikd5idsOAQ9qrXezCUj+j +dzB1MB8GA1UdIwQYMBaAFD2jgfVgC41G8Lhr/k3ndPlJLcF8MDMGA1UdEQQsMCqC +FmFsdGVybmF0ZS5uYW1lLm9uZS5jb22CEGFub3RoZXIubmFtZS5jb20wHQYDVR0O +BBYEFF96eWh/xgffyH0uCGZc6vPUQD2YMA0GCWCGSAFlAwQDAgUAA0EAMD4CHQCj +/geaVC5aa1KoAjbefleP0hoKhsOssJ97/aqyAh0AsAJPFXvBYAQGJQOph/mJkNQT +9o/LNyaEB6QnQg== +-----END CERTIFICATE----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-wc-private-key.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-wc-private-key.pem b/cpp/testdata/certs/server-wc-private-key.pem new file mode 100644 index 0000000..d2b5094 --- /dev/null +++ b/cpp/testdata/certs/server-wc-private-key.pem @@ -0,0 +1,21 @@ +Bag Attributes + friendlyName: server-wc-certificate + localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 34 37 38 35 +Key Attributes: <No Attributes> +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIICvDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIjxM5RLFGE7ICAggA +MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECOAmYE1vfly1BIICaBle2jIyrouB +QGgywMpL+5VCGB1O/+TIt1fSO1QW6PNk6AkXMnnI6ivIPymfozXOOXKu3VsEl4ge +L8pukXuclBMj2nPxP80HgMwE7manDAe/qGQeBYKBZX+udiTOS92N0oKqPBwcenuK +a+49FLfeUj0HrGACyZJK3UJOGA6s0cb5mYI5GVV2bKZR040cDRM3jKzu6MMZTF4K +UZ+HqFU2hZcZ6mHQB+hyo4/QaSSk2MABVdI2mZ6aFeZB8Zd+2LT+Ibw2wimOW7+H +xjFY52uN2Ng8yoV0dAyFHmDkpRuPQibz6JOFLrw4a5bDxIpUOGQLw88z33gbqFqt +gndUn3SLFjo+LK/r1efgjNMZulRb36Ibrdy7JJFognpv3SLNfuImmMycN2P22dgS +dPgw3SbNMA1FJObS70B91ceJZj3K+/16ZLf1/A2lbO48UBTqeChW7+31iQfML+D4 +3pI4bt6Bltz+aF01pksty/4299XuVo/HFTF59p2h9ztVOXVK+8ok4XIM1LXmQjyv +dZsdqaYSVLNNMvFPt+odrl2mB3+7Y55+nRWZw5s/ARA+mJ1lKkaIQi6bpZ4OTFfS +Fz9X9bxCOcElAZZUwKJFg/ai8ILz8VibNhy8izZzO5682TojNYkLdm1frzaa96Re +GKQPIXzGgn0njZMzuFwpxEPw2UnTazpe9VO+b2F07K+Z5/tLijf/J9eAUwRo4IZK +RtDRhnL6PfhgZGNFbk0YNgXI6cQ5+eix8cHAVE0R9SKnV3HM7DOo7cUQubemPCwT ++h5lGAU3oE3SOxYtsPa1Te//gF3DyYrym2atNBnprm0= +-----END ENCRYPTED PRIVATE KEY----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-wc-request.pem ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-wc-request.pem b/cpp/testdata/certs/server-wc-request.pem new file mode 100644 index 0000000..0b9ec10 --- /dev/null +++ b/cpp/testdata/certs/server-wc-request.pem @@ -0,0 +1,25 @@ +-----BEGIN NEW CERTIFICATE REQUEST----- +MIIENjCCA+ICAQAwMDEdMBsGA1UEAwwUKi5wcmVmaXgqLmRvbWFpbi5jb20xDzAN +BgNVBAoTBlNlcnZlcjCCA0IwggI1BgcqhkjOOAQBMIICKAKCAQEAj3k12bmq6b+r +7Yh6z0lRtvMuxZ47rzcY6OrElh8+/TYG50NRqcQYMzm4CefCrhxTm6dHW4XQEa24 +tHmHdUmEaVysDo8UszYIKKIv+icRCj1iqZNFNAmg/mlsRlj4S90ggZw3CaAQV7GV +rc0AIz26VIS2KR+dZI74g0SGd5ec7AS0NKasLnXpmF3iPbApL8ERjJ/6nYGB5zON +t5K3MNe540lZL2gJmHIVORXqPWuLRlPGM0WPgDsypMLg8nKQJW5OP4o7CDihxFDk +4YwaKaN9316hQ95LZv8EkD7VzxYj4VjUh8YI6X8hHNgdyiPLbjgHZfgi40K+SEwF +djk5YBzWZwIdALr2lqaFePff3uf6Z8l3x4XvMrIzuuWAwLzVaV0CggEAFqZcWCBI +UHBOdQKjl1cEDTTaOjR4wVTU5KXALSQu4E+W5h5L0JBKvayPN+6x4J8xgtI8kEPL +ZC+IAEFg7fnKCbMgdqecMqYn8kc+kYebosTnRL0ggVRMtVuALDaNH6g+1InpTg+g +aI4yQopceMR4xo0FJ7ccmjq7CwvhLERoljnn08502xAaZaorh/ZMaCbbPscvS1WZ +g0u07bAvfJDppJbTpV1TW+v8RdT2GfY/Pe27hzklwvIk4HcxKW2oh+weR0j4fvtf +3rdUhDFrIjLe5VPdrwIRKw0fAtowlzIk/ieu2oudSyki2bqL457Z4QOmPFKBC8aI +t+LtQxbh7xfb3gOCAQUAAoIBAAVDMGlarHLWrMs4l+6xegQE9H4WqDz7qFRdF0F7 +p2OEEC6kJ4DhuYaUvGETx+snVRbBiGbOyE1fyftcW+GrxUu18pu1qb+emk4eLg1h +xRqt/zmHEojRrqPH/Xii9BKLX1H3uileQwJu7JMjZ46DUkDcOMqtLCldXxH1F1/c +O94otknkwu7TY6Mu799i0QRSGEzUJ2oAHDD3N0vaCw0zipNCH/w9AjL/SzIh0Rw+ +Et3/9Usa9q/BNy5+mhZqym7s56ori1fd7a5DFP1uk+QWphyT3bwsIF/tWrm8+fKl +IM+gSzgflgFUxwgabh6BrGf+0I/ikd5idsOAQ9qrXezCUj+gZTBjBgkqhkiG9w0B +CQ4xVjBUMDMGA1UdEQQsMCqCFmFsdGVybmF0ZS5uYW1lLm9uZS5jb22CEGFub3Ro +ZXIubmFtZS5jb20wHQYDVR0OBBYEFF96eWh/xgffyH0uCGZc6vPUQD2YMA0GCWCG +SAFlAwQDAgUAAz8AMDwCHAoNyH8KS3UNA/YHb/gHExmyNq6P+FvxVQYRqAsCHHei +Pqnz39VtyJ0S2ozP60/raQzagEziWIZxozY= +-----END NEW CERTIFICATE REQUEST----- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server-wc.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server-wc.pkcs12 b/cpp/testdata/certs/server-wc.pkcs12 new file mode 100644 index 0000000..3cd2f9f Binary files /dev/null and b/cpp/testdata/certs/server-wc.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/certs/server.pkcs12 ---------------------------------------------------------------------- diff --git a/cpp/testdata/certs/server.pkcs12 b/cpp/testdata/certs/server.pkcs12 new file mode 100644 index 0000000..51630d7 Binary files /dev/null and b/cpp/testdata/certs/server.pkcs12 differ http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/b3421517/cpp/testdata/sasl-conf/proton-server.conf.in ---------------------------------------------------------------------- diff --git a/cpp/testdata/sasl-conf/proton-server.conf.in b/cpp/testdata/sasl-conf/proton-server.conf.in new file mode 100644 index 0000000..ff2fb17 --- /dev/null +++ b/cpp/testdata/sasl-conf/proton-server.conf.in @@ -0,0 +1,2 @@ +sasldb_path: ${CMAKE_BINARY_DIR}/cpp/testdata/sasl-conf/proton.sasldb +mech_list: EXTERNAL DIGEST-MD5 SCRAM-SHA-1 CRAM-MD5 PLAIN ANONYMOUS --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org