You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by mm...@apache.org on 2019/12/10 18:22:14 UTC

[geode-native] branch develop updated: Bug/fix ssl example (#561)

This is an automated email from the ASF dual-hosted git repository.

mmartell pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-native.git


The following commit(s) were added to refs/heads/develop by this push:
     new bfcfac5  Bug/fix ssl example (#561)
bfcfac5 is described below

commit bfcfac5be1bb64e7b2f149202ab568f5233947ad
Author: Matthew Reddington <mr...@pivotal.io>
AuthorDate: Tue Dec 10 10:22:03 2019 -0800

    Bug/fix ssl example (#561)
    
    * Support for the new certificate paths
    * Removed logging
    * Fix README.md for Windows
---
 examples/cpp/sslputget/README.md                   |  19 ++-
 examples/cpp/sslputget/main.cpp                    |   6 +-
 examples/cpp/sslputget/startserver.ps1             |   2 +-
 examples/cpp/sslputget/startserver.sh              |   2 +-
 examples/cpp/sslputget/stopserver.ps1              |   2 +-
 examples/cpp/sslputget/stopserver.sh               |   2 +-
 .../ClientSslKeys/client_keystore.password.pem     |  48 --------
 .../utilities/ClientSslKeys/client_keystore.pem    | 128 +++++++++++++++++++++
 .../utilities/ClientSslKeys/client_truststore.pem  |  45 +++++---
 .../utilities/ServerSslKeys/server_keystore.jks    | Bin 2102 -> 0 bytes
 .../utilities/ServerSslKeys/server_keystore.p12    | Bin 0 -> 6037 bytes
 .../utilities/ServerSslKeys/server_truststore.jks  | Bin 1596 -> 1567 bytes
 12 files changed, 182 insertions(+), 72 deletions(-)

diff --git a/examples/cpp/sslputget/README.md b/examples/cpp/sslputget/README.md
index 794224a..1628d0e 100644
--- a/examples/cpp/sslputget/README.md
+++ b/examples/cpp/sslputget/README.md
@@ -14,8 +14,15 @@ This example illustrates how to use SSL encryption for all traffic between a cli
     ```console
     $ cd workspace/examples/build/cpp/sslputget
     ```
+    For Linux, extend your library path.
 
-1. Run the `startserver` script to start the Geode cluster with authentication and create a region.
+    For Bash:
+
+    ```console
+    $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GeodeNative_ROOT/lib
+    ```
+
+2. Run the `startserver` script to start the Geode cluster with authentication and create a region.
 
    For Windows cmd:
 
@@ -35,14 +42,20 @@ This example illustrates how to use SSL encryption for all traffic between a cli
     $ ./startserver.sh
     ```
   
-1. Execute `cpp-sslputget`, expect the following output:
+3. Execute `cpp-sslputget ./ClientSslKeys/`
+
+   For Windows:
+
+     `<build-type>/cpp-sslputget ./ClientSslKeys (where <build-type> = Debug or Release)`
+
+   Expec the following output:
 
        Storing id and username in the region
        Getting the user info from the region
        rtimmons = Robert Timmons
        scharles = Sylvia Charles
 
-1. Run the `stopserver` script to gracefully shutdown the Geode cluster.
+4. Run the `stopserver` script to gracefully shutdown the Geode cluster.
 
    For Windows cmd:
 
diff --git a/examples/cpp/sslputget/main.cpp b/examples/cpp/sslputget/main.cpp
index 2de9462..7487a2d 100644
--- a/examples/cpp/sslputget/main.cpp
+++ b/examples/cpp/sslputget/main.cpp
@@ -48,11 +48,11 @@ int main(int argc, char** argv) {
           .set("ssl-enabled", "true")
           .set("ssl-keystore",
 #ifdef WIN32
-               (sslKeyPath + "\\client_keystore.password.pem").c_str())
+               (sslKeyPath + "\\client_keystore.pem").c_str())
 #else
-               (sslKeyPath + "/client_keystore.password.pem").c_str())
+               (sslKeyPath + "/client_keystore.pem").c_str())
 #endif
-          .set("ssl-keystore-password", "gemstone")
+          .set("ssl-keystore-password", "apachegeode")
           .set("ssl-truststore",
 #ifdef WIN32
                (sslKeyPath + "\\client_truststore.pem").c_str())
diff --git a/examples/cpp/sslputget/startserver.ps1 b/examples/cpp/sslputget/startserver.ps1
index d0a649e..5555d29 100644
--- a/examples/cpp/sslputget/startserver.ps1
+++ b/examples/cpp/sslputget/startserver.ps1
@@ -35,5 +35,5 @@ else
 
 if ($GFSH_PATH -ne "")
 {
-   Invoke-Expression "$GFSH_PATH -e 'start locator --name=locator --dir=$PSScriptRoot/locator --connect=false --J=-Dgemfire.ssl-enabled-components=all --J=-Dgemfire.ssl-keystore=$PSScriptRoot\ServerSslKeys\server_keystore.jks --J=-Dgemfire.ssl-truststore=$PSScriptRoot\ServerSslKeys\server_truststore.jks  --J=-Dgemfire.ssl-keystore-password=gemstone --J=-Dgemfire.ssl-truststore-password=gemstone' -e 'connect --use-ssl=true --key-store=$PSScriptRoot\ServerSslKeys\server_keystore.jks --trus [...]
+   Invoke-Expression "$GFSH_PATH -e 'start locator --name=locator --dir=$PSScriptRoot/locator --connect=false --J=-Dgemfire.ssl-enabled-components=all --J=-Dgemfire.ssl-keystore=$PSScriptRoot\ServerSslKeys\server_keystore.p12 --J=-Dgemfire.ssl-truststore=$PSScriptRoot\ServerSslKeys\server_truststore.jks  --J=-Dgemfire.ssl-keystore-password=apachegeode --J=-Dgemfire.ssl-truststore-password=apachegeode' -e 'connect --use-ssl=true --key-store=$PSScriptRoot\ServerSslKeys\server_keystore.p12  [...]
 }
diff --git a/examples/cpp/sslputget/startserver.sh b/examples/cpp/sslputget/startserver.sh
index 4ea621c..376777b 100755
--- a/examples/cpp/sslputget/startserver.sh
+++ b/examples/cpp/sslputget/startserver.sh
@@ -30,6 +30,6 @@ fi
 
 BASEDIR="$( cd "$( dirname "$0" )" && pwd )"
 
-$GFSH_PATH  -e "start locator --name=locator --dir=locator --connect=false --J=-Dgemfire.ssl-enabled-components=all --J=-Dgemfire.ssl-keystore=${BASEDIR}/ServerSslKeys/server_keystore.jks --J=-Dgemfire.ssl-truststore=${BASEDIR}/ServerSslKeys/server_truststore.jks  --J=-Dgemfire.ssl-keystore-password=gemstone --J=-Dgemfire.ssl-truststore-password=gemstone" -e "connect --use-ssl=true --key-store=${BASEDIR}/ServerSslKeys/server_keystore.jks --trust-store=${BASEDIR}/ServerSslKeys/server_trus [...]
+$GFSH_PATH  -e "start locator --name=locator --dir=locator --connect=false --J=-Dgemfire.ssl-enabled-components=all --J=-Dgemfire.ssl-keystore=${BASEDIR}/ServerSslKeys/server_keystore.p12 --J=-Dgemfire.ssl-truststore=${BASEDIR}/ServerSslKeys/server_truststore.jks  --J=-Dgemfire.ssl-keystore-password=apachegeode --J=-Dgemfire.ssl-truststore-password=apachegeode" -e "connect --use-ssl=true --key-store=${BASEDIR}/ServerSslKeys/server_keystore.p12 --trust-store=${BASEDIR}/ServerSslKeys/serve [...]
 
 
diff --git a/examples/cpp/sslputget/stopserver.ps1 b/examples/cpp/sslputget/stopserver.ps1
index 6ab4d6e..fa6e59c 100644
--- a/examples/cpp/sslputget/stopserver.ps1
+++ b/examples/cpp/sslputget/stopserver.ps1
@@ -35,7 +35,7 @@ else
 
 if ($GFSH_PATH -ne "")
 {
-   Invoke-Expression "$GFSH_PATH -e 'connect --use-ssl=true --key-store=$PSScriptRoot\ServerSslKeys\server_keystore.jks --trust-store=$PSScriptRoot\ServerSslKeys\server_truststore.jks --trust-store-password=gemstone --key-store-password=gemstone' -e 'shutdown --include-locators=true'"
+   Invoke-Expression "$GFSH_PATH -e 'connect --use-ssl=true --key-store=$PSScriptRoot\ServerSslKeys\server_keystore.p12 --trust-store=$PSScriptRoot\ServerSslKeys\server_truststore.jks --trust-store-password=apachegeode --key-store-password=apachegeode' -e 'shutdown --include-locators=true'"
 }
 
 Remove-Item -Path locator -Recurse -Force
diff --git a/examples/cpp/sslputget/stopserver.sh b/examples/cpp/sslputget/stopserver.sh
index 805517b..b11d946 100755
--- a/examples/cpp/sslputget/stopserver.sh
+++ b/examples/cpp/sslputget/stopserver.sh
@@ -30,6 +30,6 @@ fi
 
 BASEDIR="$( cd "$( dirname "$0" )" && pwd )"
 
-$GFSH_PATH  -e "connect --use-ssl=true --key-store=${BASEDIR}/ServerSslKeys/server_keystore.jks --trust-store=${BASEDIR}/ServerSslKeys/server_truststore.jks --trust-store-password=gemstone --key-store-password=gemstone" -e "shutdown --include-locators=true"
+$GFSH_PATH  -e "connect --use-ssl=true --key-store=${BASEDIR}/ServerSslKeys/server_keystore.p12 --trust-store=${BASEDIR}/ServerSslKeys/server_truststore.jks --trust-store-password=apachegeode --key-store-password=apachegeode" -e "shutdown --include-locators=true"
 
 rm -rf locator server
diff --git a/examples/utilities/ClientSslKeys/client_keystore.password.pem b/examples/utilities/ClientSslKeys/client_keystore.password.pem
deleted file mode 100644
index e92e35c..0000000
--- a/examples/utilities/ClientSslKeys/client_keystore.password.pem
+++ /dev/null
@@ -1,48 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,8C6F1D87BBC9DAD8
-
-Cckb6pFRtWdt8M1FXlNstAMSCX93T1irvlsqxWdIK4kXy3vqYDgurUGzlPKPBC2p
-jDjo8xazebSrtqi+qyYEBnO3Z6HNCPyGe0iUea8WVnN0ckvAe93Lro9WMdpD2+i8
-YGW9b7oo/OKz2qdUT1GLXYD8IBRXGXmEPCcOF4czQoA1eAXYuo6/Ksf+J0qsd9I5
-BJUeBWI+m58zB8dTulBtO96og03//MqTCJ6INwXDZ1XPbOfQM3qPhDP3G+AJRJKZ
-1spxjnyuu0dU5jGs054wicN0XL0QrwZvYnfbzj336N/URd1laJpjqz3+C2B+HfqG
-GAldq4OdRpgU7HVoL33zlecEhSU7V2NKWArfAi3/hQZ8IAYYCNCX1DTJ3GGmuD0g
-ax7muWVlOeuEVhu60hslJjBger1r2+32fg1lgn1xtotgHJlXTEbolnMqO5LCKbnQ
-I9o5gm7Ykm1EmrM82IBGn6ByX9TPO6WH8oacgoOSfxf8CWssR6CGf5WRsLLy8uRF
-p7ddPYCyccYOmXkr1TQ94OSA7Qz7vIEwTUJyaST3PzGRtjky1EoHAk/vgC48aTyD
-ivW4zbTDfKb9amT418h0WAwDpkmrBS7MV7iVWgcE0gtGtVXXbkHPHH6+ODXetjm+
-NR9K+uWmizUY4YXmD/AZVO7tx82NABV63bu7929M3hCw591atZj3bbJ3yoDDFBsV
-81Ea0pREWkjgEfgSrifADZNnAvzVafZDV1jYpXGl0zRB6GtFTcYAaaiSSCqp714l
-8Q1BZSXGQF4ZActkZYrPzbRHCJmjpVa/8jgG9dmDy9oal1Zys4r3JII64Xb2GZDX
-EMCUyierMnxkZ779y60UK6OjdbUMeGF9hZ/IINdRiUbszL1ugrb/f0xAMAGJ5gAw
-hd2xL3UtuLEW14wy+tZFF3WiNjxKOtkeR3mzdXd9buOLqoFWqZyfqXCbXDP7mGEG
-Mn8wGRlJrz/vwT8o2q8k60D+l0UVvbEmVz06B48RYrE3CYZHPnVjbwIcpW92kxm7
-38hjOXfaY5TMq0Q0g/La1npveCVNT+LCqyJ2J2Zrbl4CctW38RzaH4pYPumEwTIl
-JOlE9wHxWiXb4uS35IF6mceyaORTg8OG7l37sYaTEGQlCrGRPmbtTgwgvMpD1EVl
-mNVpquAKiJ9vhxElFnND7fOUpackV4uZu4myddywPT/dwJgZV68lm6D3dK0HSvnL
-eOYw3mM5cjS83gL72YLJ8S1qh4iIgOVgMDUkN9eRH2QaqSHwntRwMcNj9RTstouJ
-g4ZS6WRV/bJH2lM0qirfxRGCct9GhmLnqmH6X7fZ60TjMK5wcmAIniqzZGGQ5TLR
-4FQeYwm+TlA+QCikoYo7BgYOVGcEaHkatL7mnlJzbovxVIAOfUb7UwnuU+bOcclr
-2rkB8zcfwkPfxnkgTl3ZUQZjVrxLiYCw748yrEf/1voJZk/2JpiLlLhOT4aHNno/
-ZQgXY6WmPTdQtJ39Tf9cFlMeQn4QNsTBqmtFBvVMVkdZoyEWPZO8XD9M++1ag9vV
-cEEWSNx4UUDZsZ22hnZ9tHaRfIsW5ga8BSuXesvbQ6P9teGbGo2RkQ==
------END RSA PRIVATE KEY-----
------BEGIN CERTIFICATE-----
-MIIC6zCCAdOgAwIBAgIEUCOixTANBgkqhkiG9w0BAQUFADAeMQswCQYDVQQGEwJV
-UzEPMA0GA1UEAwwGY2xpZW50MB4XDTEyMDgwOTExNDUwOVoXDTM3MDgwMzExNDUw
-OVowHjELMAkGA1UEBhMCVVMxDzANBgNVBAMMBmNsaWVudDCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAKdvOZ5/BA/mtn0ZmBqzTlBbZJNrAnjIfH7YU7Kd
-ADqQSkQi641TIF7J4rzuf0bRDnTPiqoTqeh2k0eHZ1pVvGjXiA8nZnRYyv4LAaSS
-sn0MP+0FuzlR3h2y2z6+v82s8vtWaZMeRwTkmK56ldSslX6PjPmO5dkyQuf4twlS
-/neWvm6o7FKV62VnDelYLuVUTSf4ZPIwf1B4wPRVG5q3lEi9U6qCLVB54j3AAE6f
-pts8fYKDAgNgs1leb3nHvUCN8piuMxfmo8EVgyDKuy3TQ1ffWMUxi2veKAfa6tA0
-7HSiL7cReuzHhbZOe65z7hDOep6QyTtkK0QFeeyd7ddAJC8CAwEAAaMxMC8wHQYD
-VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB/wQEAwIEsDANBgkq
-hkiG9w0BAQUFAAOCAQEAL1tEBvoFA8NlzIIXyALWRRLdFWV0b/FPu4lAv1RUF7Sk
-ZRw4nbBUOrMGrZFjnZ3TNRChwQY8P5GlDvyj5oLJ6VZFMAaidWvFrR5oDLm8Khkq
-2vLQXnnchje9hm6jDxaO58XsfU5zicfYRuXi2vYmOgltyCixBWQvEwbI+Uf7F6Lw
-Da7bpNwTgiYs3snB83trYe17hlUaiF7MNC6lCVdy1/F7FbN/ToQQIDpxHVx7jm6n
-SrOtPnOMLoXB9Gcfrtidu1k/ZFyySskK/HnYc1bfGJ9+B1GzbVahuzr/Jdfp62sE
-XxEVh9pXSb0gkB/CUpTEx7ve9jU8tEYNUqMDUj87Qg==
------END CERTIFICATE-----
diff --git a/examples/utilities/ClientSslKeys/client_keystore.pem b/examples/utilities/ClientSslKeys/client_keystore.pem
new file mode 100644
index 0000000..1fb6b21
--- /dev/null
+++ b/examples/utilities/ClientSslKeys/client_keystore.pem
@@ -0,0 +1,128 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-256-CBC,D0A85AB3E34995D142EEDF8DA2B84AEC
+
+T9esPURq+vuXXP2nMRdIEpmFu7ks+xqX458HwwhMS8UyQl4BMZ8AEzCVg0cxGwzN
+fka5a8AsR71ZPYbwNfYfCTMR+u2AeJ71U2wjRSGaKXool7Cp9IuJAcaVdbzEOiYf
+87IBpSvcxrY0Z3c9RhTAm6Ni3eWWBd3wbwH2hYfBt1WMUHtDoDO8zkVwRy20IXXv
+zccimsEZMD6KalWAaNXuuWcUBp/l7NdQ40cOoTaZ/ZnovjNOb/322GgMswtjGrVX
+5+T7bYynWIsF8nzu0AljOpwvazytxCZPE8hvfjVUv6WSDhwWbaZlUlTGy6bi/YXr
+LVXR3KCZiq36AOlgeJoz1dPAh9MB60xu6FHUvzCsO/toaAmQ5sTrQb2zo8AFpsz9
+o25S3e24tzabxej//c1fujFrVm7ThzgEShZMj9TewS7NGUsEAK+VDVvkENbJn4vW
+Ls0k6m+Nvdn2kaCGvmY5/m2CQlM5RcLvvTdWlw07nF9sm7oOv3zJ5YESKKoREjuC
+MVg8YWjVi/hHcRr2S6nE10EVWDlLFV+VncsPa8eWFDGYWJ36MfdqT4xlMiA26owx
+rlA3YIwX7cOkvjpIGyj2t6LvT69ZsEmaJ94FpcTiqmIHYwWJfVbH9og80zUe8QB5
+vNLTCIGLA1hinH5fSD/mWgA0Dzo5JGKzhXwYAhoNFppQcULw8hxcMtU5kPaWDJiP
+IRsrfmc+FCr9DKyYuE2WY2yYvDvZY19FlAPBNG7wcsivZamk+gB/tBV2b6xmpccB
+HJr8vLqr5qUPGrmWB7klWUxKxIYLRpW8Ie/K8gG0Uf++JlzcwHNIlsAEFgVpkFhN
+ok/K5SkGxJv5fdzNi3srnoeyhLs18sC6eX8y8mjHSsIF4g3l5yj58wDb4gmICQU6
+L9ehFVn426Kqfaj77oX5aGL7geNrH3lxOr3KtmJigpKM9e8vLGuK2MjBctOrvbhj
+g9fDLrfEnQW9/7hmM4ftONUc0sVjPcES/0vb7HcHVGhrowiPnNvw4R8XN8qv5+Wy
+0E/slwlKkXmkA3CWqjOUjzIdzvRUiGMWpiu8b2HjPRmj1wDvM8/q0JWMEz2rwp2F
+IvgSgYK4IeKCO5WmW+aqWAaVUQKPp7qarsqM5ffrI5DH5DbvqPW5LjHdyIFzbzgo
+kRQghUkS9gs9S/enivaPMLOFZ/SZckrYMMpLBmJL+oXHgjssOQT0pTlmqhAajQur
+sUyVITAyKGYQoyagkig/YJoSE8kDkSUYAudDdDvWa3TS1fv3C+hBNKBZX63F2nGR
+MlRb6thKV1OgZYcyyvJe6vtWpfJ0sk9TGIkW/y30au6Vt9F7WJxaUcBuM0v5VPpH
+ujIJIKJ1Vic1VIH6Xo3B3Km+Tl3OC+ZtvEJ/FnRv9JKe0K3zMYbyaeLNM2yOwmxc
+xGQM3Rj3ilJTweSBjjcLKgX7XGQZ6IErrTmSedj4Ze62JPnSPuWfESW+U/ep9lID
+0O7/nmpKqz0fAUNgplV6Jd+o0bTB2jkUBd4OuFqBF5kK64HBj8vfze8WW7kNvCqy
+OtDEnZZpoMwV1c9VEBjFn2C8uYw8WYDx5w0uzdHheFxIq2BpnNJcJDeoYotmk3hX
+-----END RSA PRIVATE KEY-----
+-----BEGIN CERTIFICATE-----
+MIIFfjCCA2agAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMx
+DzANBgNVBAgMBk9yZWdvbjEMMAoGA1UECgwDQVNGMSwwKgYDVQQDDCNBcGFjaGUg
+R2VvZGUgSW50ZXJtZWRpYXRlIEF1dGhvcml0eTAeFw0xOTA0MjQyMjM2MDRaFw0y
+NjA0MjIyMjM2MDRaMGoxCzAJBgNVBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xEjAQ
+BgNVBAcMCUJlYXZlcnRvbjEMMAoGA1UECgwDQVNGMSgwJgYDVQQDDB9BcGFjaGUg
+R2VvZGUgQ2xpZW50IENlcnRpZmljYXRlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
+MIIBCgKCAQEA5vvJdF7i0FXJtGqOgZBsJKrJzFYjmGPmfRaMgAH6FbIjgDMvSIfP
+qwDeUp0JYu2ubVE9AvE7LQoxSgpJKLMYjl5uEO7PsmZVDL2PyeW0KEewsFXzn8Fo
+4qTTtHBknMpQDtd4qXKV2V+QFgvOZg3tc2n3IeFW9kuDw5JjJ/d0Rsn2l+3EOzAE
+AoFei6svwBl0RRSO+Q1gheC6boj6XB/so6o9uMRrSYVRqbEMdkU4tUjHYOcLTMJx
+pxfMgp/Codm6slq5oV1eedks/PzVXOcr4L8MYZRW9oy2y+ZeVJehUW4aAgwa2eft
+fM9oGpkFVxZfyhYKhiTfWn9RBEuf3/SUHwIDAQABo4IBPDCCATgwCQYDVR0TBAIw
+ADARBglghkgBhvhCAQEEBAMCB4AwOQYJYIZIAYb4QgENBCwWKk9wZW5TU0wgR2Vu
+ZXJhdGVkIEdlb2RlIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUZTMvHVkr
+Aw/w4L2rHRqnD7Z4escwgZgGA1UdIwSBkDCBjYAU36rGKVHxY48sqdC5EIgkToRz
+dvqhcaRvMG0xCzAJBgNVBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xEjAQBgNVBAcM
+CUJlYXZlcnRvbjEMMAoGA1UECgwDQVNGMSswKQYDVQQDDCJBcGFjaGUgR2VvZGUg
+Q2VydGlmaWNhdGUgQXV0aG9yaXR5ggIQADAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l
+BAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggIBACdelXfgn8V7+Ni3NSlX
+qOYMF3uKXzluU/sTBBLiIwE7ggq9+ckXoOcSzWGiEwrgbl2bTsg0JqD88VdWcMB9
+a+jX0At11upYKRLffYg8RKDu0FFlaR5So4f1JjFBK8Rr5cMepYmoZy3qgCrPBgT4
+MWzFN+EJRomwUyU5JF2UUhIOT2qJHCI8lMvkJeAJiq5GYZurYt25y3l+po2dYogb
+vXWPcWOWiSN5+gkU5aE5vCh3kyDQ/WEg8FddLCaxizFXROTktix29Tq3rCXiGZGk
+cLHHsmLKxFb5iyzvHEcDSMK/0uInCwCBikEoOp8Ybsw27pM0F092MNnt3VXre3Pg
+ywqrOGly4vqOlc38VyPefGBTLFDD8p7ahSrMmeFyIVXJevIkIWjIHD2RXmY8/3DK
+pKH7KLKDS/1BRErMlRBheKj574GmlgXjsWKb/wW72l/rAMPX1YwaL8fJthLgSdQ9
+CCXOaBaTCwwjW8cM86TFdbc9yREHNkEF2Ss+YqzRTAoG7ztmle6TfkQoC2zQ9+EX
+oQkBM9740a8oqpYWI8oi311EJvJE7Yq3W78fp0cq6rYgvfBIFai/VtKU/l8xrj5N
+BeknimgQ4ePiFr7nbK7iScQ/bUnN5vN1U1Vu4uLEGDtvSRLG/bAvv0U8A49xUetA
+uetZI1uf4Cwk8MXPzdjGcDBs
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFqTCCA5GgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwbTELMAkGA1UEBhMCVVMx
+DzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJQmVhdmVydG9uMQwwCgYDVQQKDANB
+U0YxKzApBgNVBAMMIkFwYWNoZSBHZW9kZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkw
+HhcNMTkwNDI0MjIyMzI0WhcNMjkwNDIxMjIyMzI0WjBaMQswCQYDVQQGEwJVUzEP
+MA0GA1UECAwGT3JlZ29uMQwwCgYDVQQKDANBU0YxLDAqBgNVBAMMI0FwYWNoZSBH
+ZW9kZSBJbnRlcm1lZGlhdGUgQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOC
+Ag8AMIICCgKCAgEArWK9T8jA7CLliww5NOxOp0Lh+Wwr+JKtEz6JMUYUsey761ra
+dlq3C/BgedaU4B7SqTDX86Gvl3sRjpMD5GwkNhzjPSLhm5CJ3MMMYu2zC/SAyVbZ
+cDv8YUm/y6unnESaFh7E4vCvDzcZp8yHdD73Vl44yrWfFkJ7duwtF1cq3v2Z4wiZ
+UGAi+pcFCCav0kXiVD1BD3wGyFeyb/F9g5mP0Pmxs5/hyrvs59Ax5OjpAcNFMemF
+C4UMePWV7Shoex77m8KnpWxR8eNGk0crEOX1BYy76oWGwGUEqHgSWp+4R0hkxZFt
+oY684Z7e3L/aQ39/AwGaBamV9QIGRNoIQIdwYq+dWY/gI5OqfgIOiQypuWiyxfer
+LtI/DvpLjVDRIiZEBDJQcywzrhkZB+Wuo1LzHxo6GTb3IEfO9nVoDvedacFIDqce
+TTPr/nnB/YvqZLEpI2vfTBENr7PZ9uaaZONZwZWgGj28qVoGt4YgraoTIbgBbX+z
+WrOF9QE8ivxXAhTvYhE5qNbzNTWSfgINJWBiQrVh2NqTDudzBNoUYWG2uotb0C34
+7j4jJTTTtXdczjBo+/T4q+ZrOTOqpBdUWa9o5VcFIrcDV9ewCyiudevqWWJIKzZn
++dmpW0SgKGDwiJxDs7XRDZW9qCJNhsInQdhI0eeWAIzsYobHltxEUS0qoFkCAwEA
+AaNmMGQwHQYDVR0OBBYEFN+qxilR8WOPLKnQuRCIJE6Ec3b6MB8GA1UdIwQYMBaA
+FFa2vPHAtcP9IVe5HgnLN9C5TVDIMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0P
+AQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDNHBibIKdLjgdn6LD7ZVcPCwZt
+z/0OGUZOysI0dioBKwxXqgYwWP4Wpwk22ZABQ11nJir+apCatzaAJrCM3SN117dd
+EywOjO1LlShyOrUnYZDhn1GNE0dT6dvSvdtm3GmGly1PjqFUwis5gErrKTg5cp7z
+RIESL9sWJ57xoDLf2QBcqOjI422dODuay0/Hg8nqiFcFNHuIl1sZtAXbMCWoVn4U
+b5zN7x6k2Z/NL8aapCxZpscPab+ytrqrrgcIJ1D2Y3LmFCFIdSwdEou8dGhRl9lZ
+7+kB9XnXLuoxy/amKV0yjvWUkcg0EIHa8HcgO6/FIqaZxxt6ws4LpR8SHtbYWUK0
+JNbS6Po3TFizMhvXVaAJl5h5WAjYBqBSYZ3RB1EbKRiWOHLSsiAIYkh2t96k8L0t
+HYnsuzXeHdLgQOQUddbgH3udvr94xM81TDA79NHksC+WtWMeSP7DeshjOcyg6g9a
+0D513tIjuzArOjhoY0MpwaUKmZM+byfmNb1sMW2tFVodXuvR3zGSA4qanDYSGguP
+NNEB/HE5y7203rkJ5RJZmBCkBrgXXYG/WG1uHjQ6GlC8hsNO4SCR4F93NkB+6SmN
+7hutsVd+/QpmMQWr/yM+XcGXZ9+aRqAXJIoBbq2uoa06OKnABL04hnTNYiEi6M8r
+sCMLsQ38TzdplfODpg==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFwDCCA6igAwIBAgIJAIQE3AlDT4/2MA0GCSqGSIb3DQEBCwUAMG0xCzAJBgNV
+BAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xEjAQBgNVBAcMCUJlYXZlcnRvbjEMMAoG
+A1UECgwDQVNGMSswKQYDVQQDDCJBcGFjaGUgR2VvZGUgQ2VydGlmaWNhdGUgQXV0
+aG9yaXR5MB4XDTE5MDQyNDIyMTg1M1oXDTM5MDQxOTIyMTg1M1owbTELMAkGA1UE
+BhMCVVMxDzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJQmVhdmVydG9uMQwwCgYD
+VQQKDANBU0YxKzApBgNVBAMMIkFwYWNoZSBHZW9kZSBDZXJ0aWZpY2F0ZSBBdXRo
+b3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDQZ1pjDg2ci/X/
+j7Oiy3PpH6hqCLCPehi2yZyGPQcPzV0oTxhf52FGjQ1u6r1Vu05Mi9DiQDf6HtRQ
+0p/9e1c7lZWj9CQSAC0a+N/pBfyCZXzd8x/HOShtgmMIGnzbLtZr3uyOQ03yPEru
+noP4bUQOmVL7sViV2qFYYI8Sj0I0/VRAb1UtefRyzoavJiNahIYQjur4FSicXRBC
+KUazzUG22tmBcjUjGZLnBpz7pKOsvGcEAWt/8IMdsgpxZzIhwauXOzkPfdR6yyvv
+WWj8bSK7fNiq3uxBAuFLNcbTNDo6wp20UdL5KrWuvi/bzQrDqTmLjTm7fCH8hEd3
+V6e0VFGGUJoH1kRh3PadQTioYmr6n+mUvC1H96F8Eta/HJ9dbE07megAdZ/tALgb
+HvrQ9slZ847XAn8E/j/OJLcLoELrdoMCwIIUKSkaVC4WQo2iJE6JeivmsyREjYC/
+7k8Xlhvk46vakunDQC+MCPbwjU3T43lf1EVsM/bWo0hRYwCL+Ll2DIX8GPaRr9Lw
+llRhX5sVDrZFON8hmfOYHbfBMMz1WVeJOQ7CtkTu9rxfdkp25VBZSb8Q25ULD+ZF
+U5hygFMzWyaFC5gVUSo6vqZNLldlBm8QTsv567hru+ESnoOuTd4QoouPZ+3sTLJn
+yKPqCXXmcj9rCNfemk/ZdEsBhqyWUwIDAQABo2MwYTAdBgNVHQ4EFgQUVra88cC1
+w/0hV7keCcs30LlNUMgwHwYDVR0jBBgwFoAUVra88cC1w/0hV7keCcs30LlNUMgw
+DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD
+ggIBAMDismUiqc9z0xGtCwD7wMwppDcuCmQvL32XIMFjhcLLZMlvXLSgQuAEdDXh
+XKXq0pEBYjIYKmbopIvf9MujiC2dN5OmSXlZy/7frHjutLfaC9zW+QTiFU326QKV
+vVzaHPcyxodO/UrmymwbdITGU1IOpfolw3vBX17qOxNzT/2mGbFIrCs+BEWPwyKa
+3oZwNz33vGmj6yGavDamRdL+Y+HzYhoKuCEYG5YC4CNjQHe/4y5I2nrE4ks7wY7W
+AlNSs2aJuTbok59bph8lkM6HILceXGqKXQ7/oIbm6cYs+4eXiUFZfV3AN8rEKxM+
+MouUdkubKe3Nzqkg+dDuhUMol2mQbsKkJjOZtuDQ3+SWh8enUqe3RPRTQXUQlrqY
+YSjg4+l72vYaIgbTlA9VnZn/te4aPWheMhZo+57lg2cwF/B0sYXHNcaFg9QrTVAy
+dTZpfQEnL+qWYhpbqBS9m91dFK9RwIeS8NRrq2wlj2/4lOMY8m5Jlh1vaKO9Y9y2
+HhKnfzJ5hPdyck5LDTU3K1Qb7OQTBJjKCRdaT2idAKIT62OiUuoWwfMoajC+rNeS
+YDZUPULQJxzuzqsbFZ8Sy4uTAkd31bdoglouN7RFaeSnyLhb8xhSGhngcpIozHPf
+wuE+sjekQiToAPUHr83aAyCD6yYKBwucdkBZyb0jCD7SsQ53
+-----END CERTIFICATE-----
diff --git a/examples/utilities/ClientSslKeys/client_truststore.pem b/examples/utilities/ClientSslKeys/client_truststore.pem
index def668f..0aaf749 100644
--- a/examples/utilities/ClientSslKeys/client_truststore.pem
+++ b/examples/utilities/ClientSslKeys/client_truststore.pem
@@ -1,16 +1,33 @@
 -----BEGIN CERTIFICATE-----
-MIIC6zCCAdOgAwIBAgIEUCOimzANBgkqhkiG9w0BAQUFADAeMQswCQYDVQQGEwJVUzEPMA0GA1UE
-AwwGc2VydmVyMB4XDTEyMDgwOTExNDQyN1oXDTM3MDgwMzExNDQyN1owHjELMAkGA1UEBhMCVVMx
-DzANBgNVBAMMBnNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMKe/Phwhj/V
-KcFrQuEcnlsWgDGYedyAYwUXItmolvyTeqPRI89H+NktE0zxsn3FjINN/ioz/LLSk6n4y68RGwg+
-8/7EBnYJ/zWYnmPdFeDjzQP6B81YR2YHZH7h+FweQpSpWvo4tZEeiMskQHVMO6t8tE/rwNqcoNfa
-BEFUxPWm/S2q22rueS71ft1MtcGRAUr31fGuKslmoBeT8PqBavo0eVeFu4x/b0TbVg5+arJ/JcOc
-0qFtSBacnY4hMs4uvTKe4yWd0g3wEEMpy5NpImew1be9nDuCnmP2jorvH4RMfNmq4bNWTJJr6sbt
-cCooOE7wEB20Gx69jIATxoXkzHkCAwEAAaMxMC8wHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
-BwMCMA4GA1UdDwEB/wQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEAYEt4ia2UcU21clHqzsyg1X1R
-nyImw/AKg8D62U1XCdJtqE9JN1H56cijZGKKJqItEtk/ZvsKSUvvBx9tnrrtR/Tz4UZudhG6L/2R
-CeU2A2FXk4t0o1PhWY7aOyNfJ9Y7PRRhYuZ5gXCVGy3c+Aiemb1JUF+pwOs92OvALpv+cG6UfxU7
-gZ/VucKvHROFLMru6Kx0luS3SxdAcYa1XhX0OlbYtbZ+8kzfUbKUvNHFfamsHJzfVzuFENQmDNU0
-wtDX7OgyAhUH/UB1TSk0JFa/upODpZNwyy5OVfF4aFQJ7TH//x8vaiy1zo/V7HBhxU8yzk+GlOTD
-x/VMmE7x5hJakA==
+MIIFwDCCA6igAwIBAgIJAIQE3AlDT4/2MA0GCSqGSIb3DQEBCwUAMG0xCzAJBgNV
+BAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xEjAQBgNVBAcMCUJlYXZlcnRvbjEMMAoG
+A1UECgwDQVNGMSswKQYDVQQDDCJBcGFjaGUgR2VvZGUgQ2VydGlmaWNhdGUgQXV0
+aG9yaXR5MB4XDTE5MDQyNDIyMTg1M1oXDTM5MDQxOTIyMTg1M1owbTELMAkGA1UE
+BhMCVVMxDzANBgNVBAgMBk9yZWdvbjESMBAGA1UEBwwJQmVhdmVydG9uMQwwCgYD
+VQQKDANBU0YxKzApBgNVBAMMIkFwYWNoZSBHZW9kZSBDZXJ0aWZpY2F0ZSBBdXRo
+b3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDQZ1pjDg2ci/X/
+j7Oiy3PpH6hqCLCPehi2yZyGPQcPzV0oTxhf52FGjQ1u6r1Vu05Mi9DiQDf6HtRQ
+0p/9e1c7lZWj9CQSAC0a+N/pBfyCZXzd8x/HOShtgmMIGnzbLtZr3uyOQ03yPEru
+noP4bUQOmVL7sViV2qFYYI8Sj0I0/VRAb1UtefRyzoavJiNahIYQjur4FSicXRBC
+KUazzUG22tmBcjUjGZLnBpz7pKOsvGcEAWt/8IMdsgpxZzIhwauXOzkPfdR6yyvv
+WWj8bSK7fNiq3uxBAuFLNcbTNDo6wp20UdL5KrWuvi/bzQrDqTmLjTm7fCH8hEd3
+V6e0VFGGUJoH1kRh3PadQTioYmr6n+mUvC1H96F8Eta/HJ9dbE07megAdZ/tALgb
+HvrQ9slZ847XAn8E/j/OJLcLoELrdoMCwIIUKSkaVC4WQo2iJE6JeivmsyREjYC/
+7k8Xlhvk46vakunDQC+MCPbwjU3T43lf1EVsM/bWo0hRYwCL+Ll2DIX8GPaRr9Lw
+llRhX5sVDrZFON8hmfOYHbfBMMz1WVeJOQ7CtkTu9rxfdkp25VBZSb8Q25ULD+ZF
+U5hygFMzWyaFC5gVUSo6vqZNLldlBm8QTsv567hru+ESnoOuTd4QoouPZ+3sTLJn
+yKPqCXXmcj9rCNfemk/ZdEsBhqyWUwIDAQABo2MwYTAdBgNVHQ4EFgQUVra88cC1
+w/0hV7keCcs30LlNUMgwHwYDVR0jBBgwFoAUVra88cC1w/0hV7keCcs30LlNUMgw
+DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD
+ggIBAMDismUiqc9z0xGtCwD7wMwppDcuCmQvL32XIMFjhcLLZMlvXLSgQuAEdDXh
+XKXq0pEBYjIYKmbopIvf9MujiC2dN5OmSXlZy/7frHjutLfaC9zW+QTiFU326QKV
+vVzaHPcyxodO/UrmymwbdITGU1IOpfolw3vBX17qOxNzT/2mGbFIrCs+BEWPwyKa
+3oZwNz33vGmj6yGavDamRdL+Y+HzYhoKuCEYG5YC4CNjQHe/4y5I2nrE4ks7wY7W
+AlNSs2aJuTbok59bph8lkM6HILceXGqKXQ7/oIbm6cYs+4eXiUFZfV3AN8rEKxM+
+MouUdkubKe3Nzqkg+dDuhUMol2mQbsKkJjOZtuDQ3+SWh8enUqe3RPRTQXUQlrqY
+YSjg4+l72vYaIgbTlA9VnZn/te4aPWheMhZo+57lg2cwF/B0sYXHNcaFg9QrTVAy
+dTZpfQEnL+qWYhpbqBS9m91dFK9RwIeS8NRrq2wlj2/4lOMY8m5Jlh1vaKO9Y9y2
+HhKnfzJ5hPdyck5LDTU3K1Qb7OQTBJjKCRdaT2idAKIT62OiUuoWwfMoajC+rNeS
+YDZUPULQJxzuzqsbFZ8Sy4uTAkd31bdoglouN7RFaeSnyLhb8xhSGhngcpIozHPf
+wuE+sjekQiToAPUHr83aAyCD6yYKBwucdkBZyb0jCD7SsQ53
 -----END CERTIFICATE-----
diff --git a/examples/utilities/ServerSslKeys/server_keystore.jks b/examples/utilities/ServerSslKeys/server_keystore.jks
deleted file mode 100644
index f67f87b..0000000
Binary files a/examples/utilities/ServerSslKeys/server_keystore.jks and /dev/null differ
diff --git a/examples/utilities/ServerSslKeys/server_keystore.p12 b/examples/utilities/ServerSslKeys/server_keystore.p12
new file mode 100644
index 0000000..9c51481
Binary files /dev/null and b/examples/utilities/ServerSslKeys/server_keystore.p12 differ
diff --git a/examples/utilities/ServerSslKeys/server_truststore.jks b/examples/utilities/ServerSslKeys/server_truststore.jks
index eca7330..dde526b 100644
Binary files a/examples/utilities/ServerSslKeys/server_truststore.jks and b/examples/utilities/ServerSslKeys/server_truststore.jks differ