You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2020/11/05 22:22:54 UTC

[qpid-proton] branch master updated: PROTON-2288: Replace C++ TLS certificates with more secure ones to allow tests to carry on working

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

astitcher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/qpid-proton.git


The following commit(s) were added to refs/heads/master by this push:
     new e2bcd30  PROTON-2288: Replace C++ TLS certificates with more secure ones to allow tests to carry on working
e2bcd30 is described below

commit e2bcd30219cfa6264846739e282082d4a1c4b6e4
Author: Andrew Stitcher <as...@apache.org>
AuthorDate: Thu Nov 5 12:55:25 2020 -0500

    PROTON-2288: Replace C++ TLS certificates with more secure ones to allow tests to carry on working
---
 cpp/testdata/certs/bad-server-certificate.p12      | Bin 2186 -> 2442 bytes
 cpp/testdata/certs/bad-server-certificate.pem      |  49 +++++++++-----------
 cpp/testdata/certs/bad-server-private-key.pem      |  45 +++++++++++-------
 cpp/testdata/certs/bad-server.pkcs12               | Bin 2223 -> 2479 bytes
 cpp/testdata/certs/ca-certificate.p12              | Bin 1408 -> 1056 bytes
 cpp/testdata/certs/ca-certificate.pem              |  51 ++++++++++-----------
 cpp/testdata/certs/ca.pkcs12                       | Bin 2263 -> 2519 bytes
 cpp/testdata/certs/client-certificate.p12          | Bin 2242 -> 2506 bytes
 cpp/testdata/certs/client-certificate.pem          |  41 +++++++----------
 cpp/testdata/certs/client-certificate1.p12         | Bin 2300 -> 2564 bytes
 cpp/testdata/certs/client-certificate1.pem         |  41 +++++++----------
 .../certs/client-private-key-no-password.pem       |  41 +++++++++++------
 cpp/testdata/certs/client-private-key.pem          |  45 +++++++++++-------
 cpp/testdata/certs/client-private-key1.pem         |  45 +++++++++++-------
 cpp/testdata/certs/client-request.pem              |  36 ++++++---------
 cpp/testdata/certs/client-request1.pem             |  37 ++++++---------
 cpp/testdata/certs/client.pkcs12                   | Bin 2231 -> 2495 bytes
 cpp/testdata/certs/client1.pkcs12                  | Bin 2345 -> 2609 bytes
 cpp/testdata/certs/make_certs.sh                   |  14 +++---
 cpp/testdata/certs/server-certificate-lh.pem       |  41 +++++++----------
 cpp/testdata/certs/server-certificate.p12          | Bin 2258 -> 2522 bytes
 cpp/testdata/certs/server-certificate.pem          |  42 +++++++----------
 cpp/testdata/certs/server-lh.pkcs12                | Bin 2199 -> 2463 bytes
 cpp/testdata/certs/server-private-key-lh.pem       |  45 +++++++++++-------
 cpp/testdata/certs/server-private-key.pem          |  45 +++++++++++-------
 cpp/testdata/certs/server-request-lh.pem           |  35 ++++++--------
 cpp/testdata/certs/server-request.pem              |  37 ++++++---------
 cpp/testdata/certs/server-wc-certificate.p12       | Bin 2320 -> 2576 bytes
 cpp/testdata/certs/server-wc-certificate.pem       |  44 ++++++++----------
 cpp/testdata/certs/server-wc-private-key.pem       |  45 +++++++++++-------
 cpp/testdata/certs/server-wc-request.pem           |  39 +++++++---------
 cpp/testdata/certs/server-wc.pkcs12                | Bin 2317 -> 2581 bytes
 cpp/testdata/certs/server.pkcs12                   | Bin 2263 -> 2527 bytes
 33 files changed, 413 insertions(+), 405 deletions(-)

diff --git a/cpp/testdata/certs/bad-server-certificate.p12 b/cpp/testdata/certs/bad-server-certificate.p12
index b986651..3bf4e7b 100644
Binary files a/cpp/testdata/certs/bad-server-certificate.p12 and b/cpp/testdata/certs/bad-server-certificate.p12 differ
diff --git a/cpp/testdata/certs/bad-server-certificate.pem b/cpp/testdata/certs/bad-server-certificate.pem
index a18b890..e10bcad 100644
--- a/cpp/testdata/certs/bad-server-certificate.pem
+++ b/cpp/testdata/certs/bad-server-certificate.pem
@@ -1,31 +1,26 @@
 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
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 37 36 31 32 
+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=
+MIIC/TCCAeWgAwIBAgIEX9+9ADANBgkqhkiG9w0BAQsFADAuMRIwEAYDVQQDEwkx
+MjcuMC4wLjExGDAWBgNVBAoTD05vdCBUcnVzdGVkIEluYzAgFw0yMDExMDUxNjQy
+MjdaGA8yMjk0MDgyMDE2NDIyN1owLjESMBAGA1UEAxMJMTI3LjAuMC4xMRgwFgYD
+VQQKEw9Ob3QgVHJ1c3RlZCBJbmMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQDKvbeeC52sGidH5HSfYiwB7Bdok3n7PbDcAy6Yx1/u5hYj9kMbPdZA+qO/
+gHTY4FmRMbXrp1Xl6ta0rZHNmSKGaT5GmyHaG81cPJavbfDPPg8HzfBvaRLXctmK
+5+oVjrL5ZS+oImxLNRm1drx+7yGl1Cr2Tfd9DgA3drunoXy5EfI6R+DVn751uwdX
+mtUbj+pGRVkTtaT+WwzKdsv+P+f+R+hvBs+NPHls35Y1gUY573FuYyr24gLLA0Jy
+lQh709IRUi0jEG2ZvV+rW40JLZeRADMzMKZTFGNrGn/8BI/g2rSDCHII6zGO+0WB
+47F28dO/fKp02t8jFo7K9TU8FdQlAgMBAAGjITAfMB0GA1UdDgQWBBTiDrIXYi9W
+cinxfJWhbKRXSQPoETANBgkqhkiG9w0BAQsFAAOCAQEAMy3c78upwZ4QHrWVUfX7
+QrUfOkmRD6sv9SioZSqYGqJYdkNtok2jIxF42/2UTLdCjpl5SflcOVtDtl58AnpP
+RrX7iZNBlXTY431wmEY5f0ALciLCGTx0dz8hb3KSi5JGCVcSJQTyvA/IosJ1XWUL
+V9EsHrIcx+E5A1eVhuO6/KIL9YpCqrqUdxPWrF6mpuAkK/NWwSVN/Z2KgrZvHKcX
+b7eIqPZrhg92SXn1xz+k7pkmGV05e+oxUf6toVWKx1XoMq2A8b+gG1nl4a39PJvK
+uQIhxgU/4GAf7VLd1ufGiRzZnCT/49nlyPtg6IqBL+vjhGyDpvWLvj2BML5vCJMP
+5w==
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/bad-server-private-key.pem b/cpp/testdata/certs/bad-server-private-key.pem
index d6c5290..1510aa9 100644
--- a/cpp/testdata/certs/bad-server-private-key.pem
+++ b/cpp/testdata/certs/bad-server-private-key.pem
@@ -1,21 +1,34 @@
 Bag Attributes
     friendlyName: bad-server
-    localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 34 33 33 37 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 37 36 31 32 
 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=
+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
+0IMhpUpl8sQhAeH6AlKqEQ==
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/cpp/testdata/certs/bad-server.pkcs12 b/cpp/testdata/certs/bad-server.pkcs12
index 8bbf3c6..7d83745 100644
Binary files a/cpp/testdata/certs/bad-server.pkcs12 and b/cpp/testdata/certs/bad-server.pkcs12 differ
diff --git a/cpp/testdata/certs/ca-certificate.p12 b/cpp/testdata/certs/ca-certificate.p12
index d165ec2..0972f93 100644
Binary files a/cpp/testdata/certs/ca-certificate.p12 and b/cpp/testdata/certs/ca-certificate.p12 differ
diff --git a/cpp/testdata/certs/ca-certificate.pem b/cpp/testdata/certs/ca-certificate.pem
index e7a7ff8..6842d6a 100644
--- a/cpp/testdata/certs/ca-certificate.pem
+++ b/cpp/testdata/certs/ca-certificate.pem
@@ -1,32 +1,27 @@
 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.
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 30 39 30 30 
+subject=CN = Trusted.CA.com, O = Trust Me Inc.
+
+issuer=CN = Trusted.CA.com, O = Trust Me Inc.
+
 -----BEGIN CERTIFICATE-----
-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
+MIIDRjCCAi6gAwIBAgIEblUzdjANBgkqhkiG9w0BAQsFADAxMRcwFQYDVQQDEw5U
+cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0yMDExMDUx
+NjQyMjBaGA8yMjk0MDgyMDE2NDIyMFowMTEXMBUGA1UEAxMOVHJ1c3RlZC5DQS5j
+b20xFjAUBgNVBAoTDVRydXN0IE1lIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IB
+DwAwggEKAoIBAQCXIMBOAoMMrza6Phxy9hy3myalSNKHjo9BLFvdoMI1j5FDZEGO
+y20Vz0JIx6gWlRYn238rwUC4ZbO8eeFuPe160z1eIOSNeCChixIHVShQjF04whkz
+ii+eiqWQATaGBSPiXUUUSgs8ZBB76dSLYRjLyQ0XszXrjTBQztthAxgK8G30/pGo
+a6T3wRyUP6pHkJ0CIgCZJRs2G5XoZpCn8U+L1cyIcwxsnGGHw/7qtqhgUe+kpSHI
+fh2bOX9o1ygrSFYmEAtghS4E1/G7ypd3VI0i9Mv2JxzouTPzyQqE6NbtiLuFkWXI
+CUYbnyqO+jOw7PhQ8DjSkLSIInN2aTgZgS6zAgMBAAGjZDBiMBIGA1UdEwEB/wQI
+MAYBAf8CAQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA4GA1UdDwEB
+/wQEAwIChDAdBgNVHQ4EFgQUPM6tsp5UK6L8b3d11AV7vdu4RmcwDQYJKoZIhvcN
+AQELBQADggEBAJKc76M4Jrb5MAaYA03HpZ29ow4G/wrAPszgaHLZFXwnn4eKk1LZ
+1dpQxwfX1m3jjxQPdQPQ9PdVWMvSIu8DPy6FzOeL93YSeokrCigRpvwQbYMmXPe4
+bjbjG4Pe1xVizTSPNRKedoRWOanI/v+G4qExBecAif+XpCNvGeqcajNqwANdUdpr
+lbZ+C4ryKLqYwBbYSuJPzr9H070k/WHaiQ+jdGS3J1CcKg4tUQkJ9SxoGK/AsqkZ
+E1zkJ0E6NGDsXr2zSgTyyfq+m/4guDqYm3TwKvnM064ZO+D3DvE8WvSoK2CsK4hh
+L/kd8yMzXpP6D/OTMDXPaKtg+oWLB4dkjGI=
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/ca.pkcs12 b/cpp/testdata/certs/ca.pkcs12
index 6ef6338..f36e9f1 100644
Binary files a/cpp/testdata/certs/ca.pkcs12 and b/cpp/testdata/certs/ca.pkcs12 differ
diff --git a/cpp/testdata/certs/client-certificate.p12 b/cpp/testdata/certs/client-certificate.p12
index c83a4ed..678282e 100644
Binary files a/cpp/testdata/certs/client-certificate.p12 and b/cpp/testdata/certs/client-certificate.p12 differ
diff --git a/cpp/testdata/certs/client-certificate.pem b/cpp/testdata/certs/client-certificate.pem
index da7c186..d93eb42 100644
--- a/cpp/testdata/certs/client-certificate.pem
+++ b/cpp/testdata/certs/client-certificate.pem
@@ -1,26 +1,19 @@
 -----BEGIN CERTIFICATE-----
-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
+MIIDGDCCAgCgAwIBAgIEZI9FzzANBgkqhkiG9w0BAQsFADAxMRcwFQYDVQQDEw5U
+cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0yMDExMDUx
+NjQyMjVaGA8yMjk0MDgyMDE2NDIyNVowJTESMBAGA1UEAxMJMTI3LjAuMC4xMQ8w
+DQYDVQQKEwZDbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDk
+mFjPEOWdwHz6ZZ8rSytlnpVQ7f96jp11LwFYHWaV2s1O/DPwGVby07NGeKKEDWao
+XEO1fdetdYYIjl5BxWSlvT8YiyVtyMv2+BSU8ELfrAmJl4lPBZXFECl1by9kv/U8
+9Y6NBYRym4sfPJykdX6pbXRTKTECm0uDjrgayt7dZ6dCYQkNo+BsT1cCSmcAUaTG
+C0g+gxm+uzgzEzUNY0khJe3OCxmrTyOtRgsXF6GGsUHqt9B8APyc74EwPoJGMWdJ
+ygd4Rykju5gjapnbXucd2TuF8akT0/r/SlhQD4X+1s0cPs3zEpDax4l1AHxE4Q9Q
+3P0M4+5xEY9ghjl0oqUHAgMBAAGjQjBAMB8GA1UdIwQYMBaAFDzOrbKeVCui/G93
+ddQFe73buEZnMB0GA1UdDgQWBBTQ3cqJgZhGRRwCvWdyI6kHlLRHCzANBgkqhkiG
+9w0BAQsFAAOCAQEAjM+l9T2xMyoyKZ9B8WCSopoBex35oJqX/VToT+pFllDk/4yr
+d/9f1VaMLC08/K7kbr1H47CQcFzdzJty9fD3xxvHKiwRKe0+U0yBfXYKXr9CNrc9
+ajXmcu4SYV8FJ19WAWAqUA2N9/s2cM/PwxEf/WB9MpPBXp33RvqO2qGwnzicn8Uk
+W30QAvynPQ/ufSvInCJ4JYjfeQwAMpFe2E9X2QXCeHe1dsth4NIPAWdIk9PFOU+J
+nfidPSz8DG9CfONfoY6F2WA2UcQMFJ6mLBcaf25waqm5SKYUoUkfrDqTt5lkI3cw
+pbtLze38UtlhAWMzeXx632Ge+zslEQAqOrkBHw==
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/client-certificate1.p12 b/cpp/testdata/certs/client-certificate1.p12
index b96511b..edbdae2 100644
Binary files a/cpp/testdata/certs/client-certificate1.p12 and b/cpp/testdata/certs/client-certificate1.p12 differ
diff --git a/cpp/testdata/certs/client-certificate1.pem b/cpp/testdata/certs/client-certificate1.pem
index 16fbcb5..d878373 100644
--- a/cpp/testdata/certs/client-certificate1.pem
+++ b/cpp/testdata/certs/client-certificate1.pem
@@ -1,27 +1,20 @@
 -----BEGIN CERTIFICATE-----
-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
+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
-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
+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
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/client-private-key-no-password.pem b/cpp/testdata/certs/client-private-key-no-password.pem
index cb02fd9..60bbfc3 100644
--- a/cpp/testdata/certs/client-private-key-no-password.pem
+++ b/cpp/testdata/certs/client-private-key-no-password.pem
@@ -1,19 +1,32 @@
 Bag Attributes
     friendlyName: client-certificate
-    localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 31 39 34 35 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 34 35 33 30 
 Key Attributes: <No Attributes>
 -----BEGIN PRIVATE KEY-----
-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
+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
+WlM8Vd8jzBaXF9YlUfXkSanw1A==
 -----END PRIVATE KEY-----
diff --git a/cpp/testdata/certs/client-private-key.pem b/cpp/testdata/certs/client-private-key.pem
index 92d7d89..bc68221 100644
--- a/cpp/testdata/certs/client-private-key.pem
+++ b/cpp/testdata/certs/client-private-key.pem
@@ -1,21 +1,34 @@
 Bag Attributes
     friendlyName: client-certificate
-    localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 31 39 34 35 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 34 35 33 30 
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-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
+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
+ZKkqSvAbz9infRxSCmEyvQ==
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/cpp/testdata/certs/client-private-key1.pem b/cpp/testdata/certs/client-private-key1.pem
index 071e5c5..b8b4764 100644
--- a/cpp/testdata/certs/client-private-key1.pem
+++ b/cpp/testdata/certs/client-private-key1.pem
@@ -1,21 +1,34 @@
 Bag Attributes
     friendlyName: client-certificate1
-    localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 33 31 37 37 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 36 31 30 33 
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-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
+MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIDWgZH0Ly3AcCAggA
+MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECKCtnJZ1EB2EBIIEyNKQjkyOZ24S
+WmPCOZNQrDPDXdl9RG3bFCpRmT/06T1ybf01g7q+F55IoHTHgufPmap5O0BDH7kU
+J9BOULK03nl9oLmfX470OQs9ic7lZ6LTL4PKrJQEwwZPt+PiIfR7WccplQZ3MSFs
+a2nEjju1wy50tNuiuzq2AKLG/+DkcfrPNnXICGlBVzBu+e5xtX0F0qEDFeyvVNz/
+uSOfsNPJXrHj53Iicc2MnzngUQvvkXO2tkDxoCE9UAl2R0V8FtQjBsa5IDGCcvTB
+h+aacOo7pKlQwL+IXHIxAz7jXpSunJxn6lkJ7p0+4hMFi/syPAamqSBKEgP0NqEO
+bRJOjzA/IpaTxj1E0JccJ4HlJwM5AJZ5U1wnhwDkZ0yfGhruA+W4lcOz/Ggd+LEZ
+R26EbGXt1+k1+ufv9GGUb31Y/vhnqa26gZwGDVt/C7UAPy5alV7tKlXUNs3TY6cK
+Wc7mY28NDkIrSTbOtq+aljXlUZbgBSJ5QCGo4DHsu60W63OAln5R7KHk50lT660t
+fAh+7GmbzPMuRhpr0wAkr30QgKYsRnfsSxpmJbdE3UwxAFveoIxE0P3qzndzBLii
+kPmoQoHAEi7xNF3STWrijLpCon1Vx1QgYNe3lT0RhMqW1BdzIGkA9If86szfH0zl
+5zg1vi+2uw4xkSWU62Gz3fgB+UmJHAeJ7w5PtvLWs4O9/xDFJmt2gCvK0OnmjWn1
+ghOkYLcO/bCfE7/4UYIGtuh0t1VoVDiAH+7kwbwC5W1brCqfBDIk8syAvOYRl2/L
+lBkNG4P92GfOJ6ZxGUXhLABGoyokPHKpdnDacIFxO+44dMKHIZcG/uEWCmm/NcD2
+YDHjh4FS/ICUrPCCyr2ndjmGGGCH3+WfvSSrHex2TUQPhBUGqPhkwm5z17W7hBFs
+DKMn27/CR5mdZz9Z1eYnjx8H4KJFKbeK50IpUbXm6NFrgyt+z/7qi+rxnXudscDy
+S95jXcY/1evN4KHDZL83ru9UJk+zKjESBEDoGSGrX5tT10c6dliRdjwlpSrg+6oG
+KO65jPvGGCKC6nugPcIQad9HriBP60/ZD0nob+UoxeT0hWaBKoai2GlLnIbl4gjS
+/Z+UFoTt/1r/W5vpSHe0ORO+sTjrlcpBhb8CwUq8mAtt2PRYuKbqx0dJ5O+WJyHD
+u/+vCiqA+mMPAFsAlFwoFQMUAVPIczdGz4/IR6VEyG65v+pC4PY/dadgzC7yCMai
+lCa11un/UPwm3bkrOVYOkvUPeyU4HV3vd6Cj9jct+6T3xNYIgQkz33wzABNBqXMI
+rXLfZEq2Jz4I0eS0e+Fyjp9SCjk0alYd6Y79PyTgc6kxzlqNSU7RtVbxO6YFP+C+
+xAKlhRFeZ+FAW4YjTLzR1oKNXqlW5SRpmRgz9nj+eU2POmjbRUCnNUVrz0jcev1i
+kCtJYpIc58ZXp0X/585eCJ0zWmyzDJsd97rLzYMS6VhGggwevwT5V/p3pNSJDhxD
+PIT6DK4jHrf94HHyx0CQEYS831/8JgXPOvg2oZGOkKr7197X4At4VB6Fyj0WDTNK
+0UOprHYCFyfHxTs6UgNQFtAHw+Z91Gy4zuwmrQI36Npuqni/zL3B7gmvgrruZJ0r
+SlmbZ5hOlYCcJGr0Xm5VAg==
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/cpp/testdata/certs/client-request.pem b/cpp/testdata/certs/client-request.pem
index c5b8fb3..d6b4d81 100644
--- a/cpp/testdata/certs/client-request.pem
+++ b/cpp/testdata/certs/client-request.pem
@@ -1,24 +1,16 @@
 -----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=
+MIICmjCCAYICAQAwJTESMBAGA1UEAxMJMTI3LjAuMC4xMQ8wDQYDVQQKEwZDbGll
+bnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkmFjPEOWdwHz6ZZ8r
+SytlnpVQ7f96jp11LwFYHWaV2s1O/DPwGVby07NGeKKEDWaoXEO1fdetdYYIjl5B
+xWSlvT8YiyVtyMv2+BSU8ELfrAmJl4lPBZXFECl1by9kv/U89Y6NBYRym4sfPJyk
+dX6pbXRTKTECm0uDjrgayt7dZ6dCYQkNo+BsT1cCSmcAUaTGC0g+gxm+uzgzEzUN
+Y0khJe3OCxmrTyOtRgsXF6GGsUHqt9B8APyc74EwPoJGMWdJygd4Rykju5gjapnb
+Xucd2TuF8akT0/r/SlhQD4X+1s0cPs3zEpDax4l1AHxE4Q9Q3P0M4+5xEY9ghjl0
+oqUHAgMBAAGgMDAuBgkqhkiG9w0BCQ4xITAfMB0GA1UdDgQWBBTQ3cqJgZhGRRwC
+vWdyI6kHlLRHCzANBgkqhkiG9w0BAQsFAAOCAQEAjpTQZCAG49MyMA7VOqfqbXIu
+SbbIZnhhzInyZNlZWlwwYqnw98Ad2nmQf4DoRnIcxnDxYMqgnREtZxO39n4fnXgD
+7PEb5UY3CGAJZwSVrme8FA9bOpdwIbOZSGY8FPC3UtYSlfyvFFFF62ld91nIiOkM
+qbvCCGNcevShqVtlrBJ5J4FZBOmN9gXNfmvffWwaQnoLRGOBmYvfofAGJEgWk58T
+8IGK7sStfxJWscfUdOcVB9FE8sNfwMEqNPwa4TRUKHSDQlyyhpOHRqbSwR0Orkr7
+Kwwi2Ra/20DA74OTfucgw9aFmB9ANBNIrRYUJfjOzwCZszTcaNM6pqPNul3ekA==
 -----END NEW CERTIFICATE REQUEST-----
diff --git a/cpp/testdata/certs/client-request1.pem b/cpp/testdata/certs/client-request1.pem
index e8819ab..d4751d2 100644
--- a/cpp/testdata/certs/client-request1.pem
+++ b/cpp/testdata/certs/client-request1.pem
@@ -1,25 +1,18 @@
 -----BEGIN NEW CERTIFICATE REQUEST-----
-MIIELTCCA9kCAQAwXDEMMAoGA1UECxMDRGV2MQ0wCwYDVQQHEwRDaXR5MQswCQYD
+MIIC0TCCAbkCAQAwXDEMMAoGA1UECxMDRGV2MQ0wCwYDVQQHEwRDaXR5MQswCQYD
 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=
+ChMGQ2xpZW50MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArLLKQG5H
+1zznH/YTdHT84oMEjf1ZAqrkJdLZQCVNirL7lcv1R5oiqqiyl5X7jSPnuir9l/S9
+l4lm2L+N49SCn9sJD4Av9uOAWiunKLUP49/oYeno/JmBTxN4aLBIFQhr9zLQXkFI
+Qt4YnJH6oIL8B+oNH1OJfcFV1tv54KpX3aGEsAV0Jhiomnz5TreWro0bxcxQOEWi
+MCjKBNMLPeyFpjWOy9aD7woALOLB3YbGMPzthbIeRbkTIcWsedxZSrsLnCIbqKHl
+D+w5KKgmInn2iHhQeF+xTxOJgEWJmXH5VPhCfHPKqecl14ZQUi51H/wEbEZEWdOy
+yI+g8WQC3co5ewIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNVHQ4EFgQUfEse
+ZNl+tCA+AcKU12ODol8ZqGQwDQYJKoZIhvcNAQELBQADggEBAG0JVY/PP93DC8xF
+j3P9QzdkCgRbaNlVYNorWlMLpd1CTQGrc7kzEXAQA9+Wfr2TmIFMCbyF5ixMGBqg
+dekma5WoZPfj45/+C7PbOXD1W/xIoFIiBRZYS4g/qU+7iXuptoT+PqqxiNfvSenY
+NL1oTGAZCOYzn8F/7kvGehHbCfswOn9qMCL0X11G8udMREacqHzsROI5VG6e0H9J
+j0XeX/TOvoVHryCafa08NvMckyDZNdmrHNCsgJtC9LfkEq3g+eC/zGN/pEZTtp9i
+DSb1rkKYSoQ5xy/7FKsm/GQOD0JftH5zFzZsjqw2+nNhvUF2DMqFxaibYghUdLBO
+IDbyqRY=
 -----END NEW CERTIFICATE REQUEST-----
diff --git a/cpp/testdata/certs/client.pkcs12 b/cpp/testdata/certs/client.pkcs12
index 1035c5e..12a1213 100644
Binary files a/cpp/testdata/certs/client.pkcs12 and b/cpp/testdata/certs/client.pkcs12 differ
diff --git a/cpp/testdata/certs/client1.pkcs12 b/cpp/testdata/certs/client1.pkcs12
index b729a53..81f0126 100644
Binary files a/cpp/testdata/certs/client1.pkcs12 and b/cpp/testdata/certs/client1.pkcs12 differ
diff --git a/cpp/testdata/certs/make_certs.sh b/cpp/testdata/certs/make_certs.sh
index 073b620..0b180b6 100755
--- a/cpp/testdata/certs/make_certs.sh
+++ b/cpp/testdata/certs/make_certs.sh
@@ -4,41 +4,41 @@
 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
+keytool -storetype pkcs12 -keystore ca.pkcs12 -storepass ca-password -alias ca -keypass ca-password -keyalg RSA -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 -keyalg RSA -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 -keyalg RSA -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 -keyalg RSA -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 -keyalg RSA -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
+keytool -storetype pkcs12 -keystore bad-server.pkcs12 -storepass server-password -alias bad-server -keypass server-password -keyalg RSA -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 -keyalg RSA -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
diff --git a/cpp/testdata/certs/server-certificate-lh.pem b/cpp/testdata/certs/server-certificate-lh.pem
index 2f8af74..35442e5 100644
--- a/cpp/testdata/certs/server-certificate-lh.pem
+++ b/cpp/testdata/certs/server-certificate-lh.pem
@@ -1,26 +1,19 @@
 -----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=
+MIIDBzCCAe+gAwIBAgIEVCYfkzANBgkqhkiG9w0BAQsFADAxMRcwFQYDVQQDEw5U
+cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0yMDExMDUx
+NjQyMjNaGA8yMjk0MDgyMDE2NDIyM1owFDESMBAGA1UEAxMJbG9jYWxob3N0MIIB
+IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlTnyJTkQhPfvevxo8EIGjYp3
+td/BfxCOEDNDZL5ln8QsVC/jkJ//ywmTrbAPzqYs7mz66db04amLsvZRw+DMd6rj
+TTg5HuqFq0Ot1eBOV2B/bZ/cXlACaIjc63Uky5H14CSRIKo88OeaUkt3/+vzC61Z
+A6kurBnSpHLnuq+YpjyGdeRFCqzL39IpuVKmQ52zVWy6Ia0V0UgR6TtTCOnU2wGf
+jHYGzi3Av5T2a1t4YM/C5SzpkgVvrajU0i8ENB3Nr+5Sce/F1RmQBbMD+/tNzNzL
+m4xXhLPSKZ/R05xtmgu6fRSdDPTJSSuRRb9it7RRMACHd6z3AEXg6l9t/ytSewID
+AQABo0IwQDAfBgNVHSMEGDAWgBQ8zq2ynlQrovxvd3XUBXu927hGZzAdBgNVHQ4E
+FgQU4XY07dvUBj11GTOiKZ2WB7cG3cEwDQYJKoZIhvcNAQELBQADggEBAC2mTdQ9
+RrnUIy/pFj18W/KGmBU7G8NAlJDvFgTgYU57NxX+Yom+AR3brJ6J71Gd2rVgNegj
+AV2OY3EvCwDQJ+udj6roJ0b9YRdp6GTbniyk14gmvVY5/cLd/tSfULUroGEvy86X
+Gb7Rk29c/ZUaS2BrhxKU17nQYx4iTRKyzfCsEEEc6b/8mzztFElsWcQAdfiDyuNB
+oyTbFMZ4PGa3T78cTdpqEp2feZG/pqrTSQ5PrzJkreKRT+hUuxCyP+eWf2Hgc3Kz
+4++PeTJmMXJyhH4o+gTRmVYnlj0EjIdVqbQi7XHkO6sRAL29JaDNReNrYE1tzWpq
+luaZoJ/AuGLxFus=
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/server-certificate.p12 b/cpp/testdata/certs/server-certificate.p12
index a3f2822..34b083b 100644
Binary files a/cpp/testdata/certs/server-certificate.p12 and b/cpp/testdata/certs/server-certificate.p12 differ
diff --git a/cpp/testdata/certs/server-certificate.pem b/cpp/testdata/certs/server-certificate.pem
index 2bda16a..2fa19fe 100644
--- a/cpp/testdata/certs/server-certificate.pem
+++ b/cpp/testdata/certs/server-certificate.pem
@@ -1,27 +1,19 @@
 -----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=
+MIIDKDCCAhCgAwIBAgIEVE7g7zANBgkqhkiG9w0BAQsFADAxMRcwFQYDVQQDEw5U
+cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0yMDExMDUx
+NjQyMjJaGA8yMjk0MDgyMDE2NDIyMlowNTEiMCAGA1UEAxMZQTEuR29vZC5TZXJ2
+ZXIuZG9tYWluLmNvbTEPMA0GA1UEChMGU2VydmVyMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAjgTZXQUA+P8IJbpym1tSrD2tektw1C1NyPoqMzSJzIJj
+DVYVDON0NJLuywkNIhbg/qNbPzey+GqKP7vgfb0n9/ilQCbrzqwc5ki3Z1bxZfyw
+Tn+ad786NI2m35SckUFdW8GJXUwAUmIvHh6A4Su0HP6UBfijCqYfXmkb0Of/TyR+
+uGGLOp6vrVzIltKMvzwTlRMrM7R7ARGEKgnMHaUlcZL0c4TjAyQLAmYtNQiTVtWf
+yqErxoOUfaT6HNhgzVAkgn7t6ZDRmtJa/5htMytXXdJ9F48GmZ//kvkEGuKK8rBj
+zwfzI/sJb6JKgS29C0wDBwkuH/r4w5fMFzdch6I8uwIDAQABo0IwQDAfBgNVHSME
+GDAWgBQ8zq2ynlQrovxvd3XUBXu927hGZzAdBgNVHQ4EFgQU2mgqOmS5qwjv4Wib
+W7c4ZQcO6PUwDQYJKoZIhvcNAQELBQADggEBAIfvky2UR8OCRTndwJAAMQk53Ahj
+7g6CL2SYINZGLmpoMCA9l7lWSUyD3aP/BVbqhLNiW3JHoxXKL2M1niD6S/31BIX2
+Qm8vCUPvUCMK6iM6Hmd0qVStWSSkVLQRjNsZ+Ks1Za1urf3MSOPw8uZu0XXkr8SV
+buAeUyPcZts/FugC86zt3mJMVy2trEqEyRq7QExmg7MMEpOOZ4eUqpQ+JKvXvxiU
+pmWN1/1epJlK8NQkMtzY9RRzo24e1l7gtqSkTXnNwgceyIoeF83TUNGr/I/kwH1c
+lE8ufd4SRUmphV0dLsnUmHqUxlHE6szsWs4dJALeT2QgFIABkzkJuLhclO4=
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/server-lh.pkcs12 b/cpp/testdata/certs/server-lh.pkcs12
index 63de556..c722481 100644
Binary files a/cpp/testdata/certs/server-lh.pkcs12 and b/cpp/testdata/certs/server-lh.pkcs12 differ
diff --git a/cpp/testdata/certs/server-private-key-lh.pem b/cpp/testdata/certs/server-private-key-lh.pem
index e2fb27a..fee160f 100644
--- a/cpp/testdata/certs/server-private-key-lh.pem
+++ b/cpp/testdata/certs/server-private-key-lh.pem
@@ -1,21 +1,34 @@
 Bag Attributes
     friendlyName: server-certificate
-    localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 36 30 38 30 39 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 32 39 32 34 
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-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
+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
+hTWum1Ssoj0M8vsbBUECTw==
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/cpp/testdata/certs/server-private-key.pem b/cpp/testdata/certs/server-private-key.pem
index 1cdfe72..f1408c9 100644
--- a/cpp/testdata/certs/server-private-key.pem
+++ b/cpp/testdata/certs/server-private-key.pem
@@ -1,21 +1,34 @@
 Bag Attributes
     friendlyName: server-certificate
-    localKeyID: 54 69 6D 65 20 31 35 33 38 34 34 39 30 35 39 36 34 36 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 31 34 39 32 
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-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
+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
+oj/fEj1dhiDl0RJAwZfZtQ==
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/cpp/testdata/certs/server-request-lh.pem b/cpp/testdata/certs/server-request-lh.pem
index d550135..b85c898 100644
--- a/cpp/testdata/certs/server-request-lh.pem
+++ b/cpp/testdata/certs/server-request-lh.pem
@@ -1,23 +1,16 @@
 -----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=
+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
 -----END NEW CERTIFICATE REQUEST-----
diff --git a/cpp/testdata/certs/server-request.pem b/cpp/testdata/certs/server-request.pem
index accad0a..458ec6b 100644
--- a/cpp/testdata/certs/server-request.pem
+++ b/cpp/testdata/certs/server-request.pem
@@ -1,24 +1,17 @@
 -----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=
+MIICqjCCAZICAQAwNTEiMCAGA1UEAxMZQTEuR29vZC5TZXJ2ZXIuZG9tYWluLmNv
+bTEPMA0GA1UEChMGU2VydmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+AQEAjgTZXQUA+P8IJbpym1tSrD2tektw1C1NyPoqMzSJzIJjDVYVDON0NJLuywkN
+Ihbg/qNbPzey+GqKP7vgfb0n9/ilQCbrzqwc5ki3Z1bxZfywTn+ad786NI2m35Sc
+kUFdW8GJXUwAUmIvHh6A4Su0HP6UBfijCqYfXmkb0Of/TyR+uGGLOp6vrVzIltKM
+vzwTlRMrM7R7ARGEKgnMHaUlcZL0c4TjAyQLAmYtNQiTVtWfyqErxoOUfaT6HNhg
+zVAkgn7t6ZDRmtJa/5htMytXXdJ9F48GmZ//kvkEGuKK8rBjzwfzI/sJb6JKgS29
+C0wDBwkuH/r4w5fMFzdch6I8uwIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNV
+HQ4EFgQU2mgqOmS5qwjv4WibW7c4ZQcO6PUwDQYJKoZIhvcNAQELBQADggEBAGzh
+VVFu32CPR3ILNmZ8ZNIykDMTTEpb9NZBmsWzQyjRFkX8tJ8nrTN3d0uuVT6xCr6r
+Gq+7IBsgqPPntU9RK2lozpAU+WphueLdE1V63g7r4aYzsXuu8bht/muF1VUzfgy/
+JTWEhWBdDDulVwOOE227HRXr/KyNN4gOejNHotj4GlmcL5aLy6diR+6/sAidhg15
+IFdOZVjB1Na+iiRUqvIb2scg8ZPh4vkcTcMFQfEib5pBldJhiU83UjP27jybafuF
+CeRICfAl8ay2bZ1YYuEM/N2PcD7tALthoi1wDLkdMvZlmSJUE0cicAGGG9YOknbW
+TxEbLgkyMEqqTMF7774=
 -----END NEW CERTIFICATE REQUEST-----
diff --git a/cpp/testdata/certs/server-wc-certificate.p12 b/cpp/testdata/certs/server-wc-certificate.p12
index 20a9c81..ba25093 100644
Binary files a/cpp/testdata/certs/server-wc-certificate.p12 and b/cpp/testdata/certs/server-wc-certificate.p12 differ
diff --git a/cpp/testdata/certs/server-wc-certificate.pem b/cpp/testdata/certs/server-wc-certificate.pem
index cef7a78..df45bf7 100644
--- a/cpp/testdata/certs/server-wc-certificate.pem
+++ b/cpp/testdata/certs/server-wc-certificate.pem
@@ -1,28 +1,20 @@
 -----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==
+MIIDWDCCAkCgAwIBAgIEBDXbgjANBgkqhkiG9w0BAQsFADAxMRcwFQYDVQQDEw5U
+cnVzdGVkLkNBLmNvbTEWMBQGA1UEChMNVHJ1c3QgTWUgSW5jLjAgFw0yMDExMDUx
+NjQyMjlaGA8yMjk0MDgyMDE2NDIyOVowMDEdMBsGA1UEAwwUKi5wcmVmaXgqLmRv
+bWFpbi5jb20xDzANBgNVBAoTBlNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAI0AsfREN+YS68FVtx3kcIaDLmXOpX6ztGkflwT9Csg2RaZ4JEE9
+Klqtq8Y6QMBUrcDiBvpDS2rkEUhYurR3Pu+6JcPHGX9HvYjmArBoPJicnskU8tga
+FSlU1bMDzkzhscoAenevVc3Z8/ptpkbq5R03BteUXWjdWD4XBBn+O6j/Kj0Hx9vb
+qeEY5nQmLhTGJ45ccgMj5Hc2CN/wyaphEsB31elxBxiIJsmXxmAu900UeNWnq7sG
+mB2a4hp/j/rSE2vXe02t7uX/bbWfJsufbls6MrVrFc3OUTUueWvIaYkjveYRf8Dy
+7IJG5zQaSDI+N8xlqQWNqs4GWCpZ76fGmDMCAwEAAaN3MHUwHwYDVR0jBBgwFoAU
+PM6tsp5UK6L8b3d11AV7vdu4RmcwMwYDVR0RBCwwKoIWYWx0ZXJuYXRlLm5hbWUu
+b25lLmNvbYIQYW5vdGhlci5uYW1lLmNvbTAdBgNVHQ4EFgQURxZ8TJUN6uG2FCDq
+sVxCDhcPs1kwDQYJKoZIhvcNAQELBQADggEBADcOYlswdp3HcqIp+3wOW5PDl+Tk
+7VuMWTOK+dttJJyhZJdMJJvAr1DqZvem4Sm02ppaVAlr7RLcdVZ4DG0aLWJoZpe+
+65JWuBskBxmGVYEP0+G/lXH7I9RnN+Apcq9azD7wNAnSCjNXO65mzwXk91s+wfV0
+cbryGBqk4Fc0ZlqqxbgLwssCfA1j8m/VF9LGlPAQsHpSaSTG+KumWHsmV8hwjMTY
+LTrRi1DeRB52J1TvjtAdz2fqMe9gBsc4IvUcHRU4QT4RHbcl8TEkJl9xHJKmfXvV
+18Lu9nCrsjGzqDpHvHT+k7LOzdc8HKbmNrSjSPYGBgcYN5HQYTKUP40X2Wo=
 -----END CERTIFICATE-----
diff --git a/cpp/testdata/certs/server-wc-private-key.pem b/cpp/testdata/certs/server-wc-private-key.pem
index d2b5094..8eac8c0 100644
--- a/cpp/testdata/certs/server-wc-private-key.pem
+++ b/cpp/testdata/certs/server-wc-private-key.pem
@@ -1,21 +1,34 @@
 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 
+    localKeyID: 54 69 6D 65 20 31 36 30 34 35 39 34 35 34 38 33 34 31 
 Key Attributes: <No Attributes>
 -----BEGIN ENCRYPTED PRIVATE KEY-----
-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
+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
+L5+Ax5FQDcjyXZiT3od00Q==
 -----END ENCRYPTED PRIVATE KEY-----
diff --git a/cpp/testdata/certs/server-wc-request.pem b/cpp/testdata/certs/server-wc-request.pem
index 0b9ec10..66e0c32 100644
--- a/cpp/testdata/certs/server-wc-request.pem
+++ b/cpp/testdata/certs/server-wc-request.pem
@@ -1,25 +1,18 @@
 -----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=
+MIIC2jCCAcICAQAwMDEdMBsGA1UEAwwUKi5wcmVmaXgqLmRvbWFpbi5jb20xDzAN
+BgNVBAoTBlNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI0A
+sfREN+YS68FVtx3kcIaDLmXOpX6ztGkflwT9Csg2RaZ4JEE9Klqtq8Y6QMBUrcDi
+BvpDS2rkEUhYurR3Pu+6JcPHGX9HvYjmArBoPJicnskU8tgaFSlU1bMDzkzhscoA
+enevVc3Z8/ptpkbq5R03BteUXWjdWD4XBBn+O6j/Kj0Hx9vbqeEY5nQmLhTGJ45c
+cgMj5Hc2CN/wyaphEsB31elxBxiIJsmXxmAu900UeNWnq7sGmB2a4hp/j/rSE2vX
+e02t7uX/bbWfJsufbls6MrVrFc3OUTUueWvIaYkjveYRf8Dy7IJG5zQaSDI+N8xl
+qQWNqs4GWCpZ76fGmDMCAwEAAaBlMGMGCSqGSIb3DQEJDjFWMFQwMwYDVR0RBCww
+KoIWYWx0ZXJuYXRlLm5hbWUub25lLmNvbYIQYW5vdGhlci5uYW1lLmNvbTAdBgNV
+HQ4EFgQURxZ8TJUN6uG2FCDqsVxCDhcPs1kwDQYJKoZIhvcNAQELBQADggEBADVq
+aVo20eFg2vFfCB75tV9G+L2dbPklwPejaP32aLTXL6+LSqyR8Ga03PZwtB1RlJAi
+WlUSiFrzE6Jx0LW6mCExu4+YmFoyG1ZMyQUrrllxr29kkS9EH87NoiBjOznD/mvC
+NbcWhs/DOj9vBGCzXJiFPPFDOhNy/VFnj14jdq1P5yRkGuhHoMnBMmoq9KmN89/9
+f2O4tOkJnUpFDZ60J7aCxmqswwpXV9DeW7A23vDW2hLJYplAOxdSEXpeBgEszwE5
+RHW8QxVsj3Hl2H+HoCLKKb0FplbXAMB9QM12JMBlz73p8win386XsHudjLQNvciB
+pY2pUllcJDQUUu0RFEo=
 -----END NEW CERTIFICATE REQUEST-----
diff --git a/cpp/testdata/certs/server-wc.pkcs12 b/cpp/testdata/certs/server-wc.pkcs12
index 3cd2f9f..8066ff2 100644
Binary files a/cpp/testdata/certs/server-wc.pkcs12 and b/cpp/testdata/certs/server-wc.pkcs12 differ
diff --git a/cpp/testdata/certs/server.pkcs12 b/cpp/testdata/certs/server.pkcs12
index 51630d7..1ff19c8 100644
Binary files a/cpp/testdata/certs/server.pkcs12 and b/cpp/testdata/certs/server.pkcs12 differ


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org