summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2020-06-03 15:48:30 +0200
committerThomas Lenz <thomas.lenz@egiz.gv.at>2020-06-03 15:48:30 +0200
commit44979c48809c8b951670b3afc7c7b6c550b3510e (patch)
tree81fbf5d6b55d2f6b9f2ed5ca1cbbf3090beacb81
parentd0f7083699da7825b27d2c96487a330d99645f0a (diff)
downloadEAAF-Components-44979c48809c8b951670b3afc7c7b6c550b3510e.tar.gz
EAAF-Components-44979c48809c8b951670b3afc7c7b6c550b3510e.tar.bz2
EAAF-Components-44979c48809c8b951670b3afc7c7b6c550b3510e.zip
fix broken jUnit tests
-rw-r--r--eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java185
-rw-r--r--eaaf_modules/eaaf_module_pvp2_core/src/test/resources/data/pvp_metadata_junit_keystore_classpath_entityId.xml36
2 files changed, 95 insertions, 126 deletions
diff --git a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java
index c35ef604..510c6e47 100644
--- a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java
+++ b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/test/http/HttpClientFactoryTest.java
@@ -9,6 +9,12 @@ import java.security.KeyStoreException;
import java.security.Provider;
import java.security.cert.X509Certificate;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
+import at.gv.egiz.eaaf.core.impl.credential.EaafKeyStoreFactory;
+import at.gv.egiz.eaaf.core.impl.data.Pair;
+import at.gv.egiz.eaaf.core.impl.http.HttpClientConfiguration;
+import at.gv.egiz.eaaf.core.impl.http.IHttpClientFactory;
+
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.CloseableHttpResponse;
@@ -25,11 +31,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import at.gv.egiz.eaaf.core.exceptions.EaafException;
-import at.gv.egiz.eaaf.core.impl.credential.EaafKeyStoreFactory;
-import at.gv.egiz.eaaf.core.impl.data.Pair;
-import at.gv.egiz.eaaf.core.impl.http.HttpClientConfiguration;
-import at.gv.egiz.eaaf.core.impl.http.IHttpClientFactory;
import okhttp3.HttpUrl;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.MockWebServer;
@@ -44,7 +45,7 @@ public class HttpClientFactoryTest {
@Autowired private EaafKeyStoreFactory keyStoreFactory;
@Autowired private IHttpClientFactory httpClientFactory;
-
+
private MockWebServer mockWebServer = null;
private HttpUrl mockServerUrl;
@@ -54,7 +55,7 @@ public class HttpClientFactoryTest {
*/
@Before
public void setup() {
-
+
}
/**
@@ -87,26 +88,26 @@ public class HttpClientFactoryTest {
}
@Test
- public void defaultHttpClientRetryOneTime() throws EaafException, InterruptedException,
- ClientProtocolException, IOException {
- CloseableHttpClient client = httpClientFactory.getHttpClient();
+ public void defaultHttpClientRetryOneTime() throws EaafException, InterruptedException,
+ ClientProtocolException, IOException {
+ final CloseableHttpClient client = httpClientFactory.getHttpClient();
Assert.assertNotNull("No httpClient", client);
-
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse().setResponseCode(200)
.setBody("GetData"));
//request webservice
final HttpUriRequest httpGet1 = new HttpGet(mockServerUrl.url().toString());
- final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
+ final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
Assert.assertEquals("http statusCode", 200, httpResp1.getStatusLine().getStatusCode());
-
+
}
-
+
@Test
public void getCustomClientsDefault() throws EaafException {
final HttpClientConfiguration config = new HttpClientConfiguration("jUnit");
@@ -133,7 +134,7 @@ public class HttpClientFactoryTest {
}
@Test
- public void getCustomClientBasicAuth() throws EaafException, ClientProtocolException,
+ public void getCustomClientBasicAuth() throws EaafException, ClientProtocolException,
IOException, InterruptedException {
final HttpClientConfiguration config = new HttpClientConfiguration("jUnit");
config.setAuthMode("password");
@@ -181,107 +182,107 @@ public class HttpClientFactoryTest {
}
@Test
- public void httpPostRetryNotAllowed() throws EaafException, InterruptedException,
+ public void httpPostRetryNotAllowed() throws EaafException, InterruptedException,
ClientProtocolException, IOException {
- final HttpClientConfiguration config =
+ final HttpClientConfiguration config =
new HttpClientConfiguration("jUnit_retry_" + RandomStringUtils.randomAlphabetic(3));
config.setHttpErrorRetryCount(2);
config.setHttpErrorRetryPost(false);
-
- CloseableHttpClient client = httpClientFactory.getHttpClient(config);
+
+ final CloseableHttpClient client = httpClientFactory.getHttpClient(config);
Assert.assertNotNull("No httpClient", client);
-
-
+
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse().setResponseCode(200)
.setBody("GetData"));
//request webservice
final HttpUriRequest httpGet1 = new HttpPost(mockServerUrl.url().toString());
try {
- client.execute(httpGet1);
+ client.execute(httpGet1);
Assert.fail("HTTP POST retry not allowed");
-
- } catch (SocketTimeoutException e) {
+
+ } catch (final SocketTimeoutException e) {
Assert.assertNotNull("No errorMsg", e.getMessage());
-
+
}
-
+
}
-
+
@Test
- public void httpPostRetryOneTime() throws EaafException, InterruptedException,
+ public void httpPostRetryOneTime() throws EaafException, InterruptedException,
ClientProtocolException, IOException {
- final HttpClientConfiguration config =
+ final HttpClientConfiguration config =
new HttpClientConfiguration("jUnit_retry_" + RandomStringUtils.randomAlphabetic(3));
config.setHttpErrorRetryCount(2);
config.setHttpErrorRetryPost(true);
-
- CloseableHttpClient client = httpClientFactory.getHttpClient(config);
+
+ final CloseableHttpClient client = httpClientFactory.getHttpClient(config);
Assert.assertNotNull("No httpClient", client);
-
-
+
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse().setResponseCode(200)
.setBody("GetData"));
//request webservice
final HttpUriRequest httpGet1 = new HttpPost(mockServerUrl.url().toString());
- final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
+ final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
Assert.assertEquals("http statusCode", 200, httpResp1.getStatusLine().getStatusCode());
-
+
}
-
+
@Test
- public void testHttpClientRetryOneTime() throws EaafException, InterruptedException,
+ public void testHttpClientRetryOneTime() throws EaafException, InterruptedException,
ClientProtocolException, IOException {
- final HttpClientConfiguration config =
+ final HttpClientConfiguration config =
new HttpClientConfiguration("jUnit_retry_" + RandomStringUtils.randomAlphabetic(3));
config.setHttpErrorRetryCount(2);
-
- CloseableHttpClient client = httpClientFactory.getHttpClient(config);
+
+ final CloseableHttpClient client = httpClientFactory.getHttpClient(config);
Assert.assertNotNull("No httpClient", client);
-
-
+
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse().setResponseCode(200)
.setBody("GetData"));
//request webservice
final HttpUriRequest httpGet1 = new HttpGet(mockServerUrl.url().toString());
- final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
+ final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
Assert.assertEquals("http statusCode", 200, httpResp1.getStatusLine().getStatusCode());
-
+
}
-
+
@Test
- public void testHttpClientRetryTwoTime() throws EaafException, InterruptedException,
+ public void testHttpClientRetryTwoTime() throws EaafException, InterruptedException,
ClientProtocolException, IOException {
- final HttpClientConfiguration config =
+ final HttpClientConfiguration config =
new HttpClientConfiguration("jUnit_retry_" + RandomStringUtils.randomAlphabetic(3));
config.setHttpErrorRetryCount(2);
-
- CloseableHttpClient client = httpClientFactory.getHttpClient(config);
+
+ final CloseableHttpClient client = httpClientFactory.getHttpClient(config);
Assert.assertNotNull("No httpClient", client);
-
-
+
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
.setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
@@ -290,26 +291,26 @@ public class HttpClientFactoryTest {
//request webservice
final HttpUriRequest httpGet1 = new HttpGet(mockServerUrl.url().toString());
- final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
+ final CloseableHttpResponse httpResp1 = client.execute(httpGet1);
Assert.assertEquals("http statusCode", 200, httpResp1.getStatusLine().getStatusCode());
-
+
}
-
+
@Test
- public void testHttpClientRetryMaxReached() throws EaafException, InterruptedException,
+ public void testHttpClientRetryMaxReached() throws EaafException, InterruptedException,
ClientProtocolException, IOException {
- final HttpClientConfiguration config =
+ final HttpClientConfiguration config =
new HttpClientConfiguration("jUnit_retry_" + RandomStringUtils.randomAlphabetic(3));
config.setHttpErrorRetryCount(2);
-
- CloseableHttpClient client = httpClientFactory.getHttpClient(config);
+
+ final CloseableHttpClient client = httpClientFactory.getHttpClient(config);
Assert.assertNotNull("No httpClient", client);
-
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
.setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
@@ -322,45 +323,45 @@ public class HttpClientFactoryTest {
//request webservice
final HttpUriRequest httpGet1 = new HttpGet(mockServerUrl.url().toString());
try {
- client.execute(httpGet1);
+ client.execute(httpGet1);
Assert.fail("Max retry failed");
-
- } catch (SocketTimeoutException e) {
+
+ } catch (final SocketTimeoutException e) {
Assert.assertNotNull("No errorMsg", e.getMessage());
-
- }
+
+ }
}
-
+
@Test
- public void testHttpClientNoRetry() throws EaafException, InterruptedException,
+ public void testHttpClientNoRetry() throws EaafException, InterruptedException,
ClientProtocolException, IOException {
- final HttpClientConfiguration config =
+ final HttpClientConfiguration config =
new HttpClientConfiguration("jUnit_retry_" + RandomStringUtils.randomAlphabetic(3));
config.setHttpErrorRetryCount(0);
-
- CloseableHttpClient client = httpClientFactory.getHttpClient(config);
+
+ final CloseableHttpClient client = httpClientFactory.getHttpClient(config);
Assert.assertNotNull("No httpClient", client);
-
+
mockWebServer = new MockWebServer();
mockServerUrl = mockWebServer.url("/sp/junit");
mockWebServer.enqueue(new MockResponse()
.setSocketPolicy(SocketPolicy.NO_RESPONSE)
- .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
+ .setResponseCode(HttpURLConnection.HTTP_NO_CONTENT));
mockWebServer.enqueue(new MockResponse().setResponseCode(200)
.setBody("GetData"));
//request webservice
final HttpUriRequest httpGet1 = new HttpGet(mockServerUrl.url().toString());
try {
- client.execute(httpGet1);
+ client.execute(httpGet1);
Assert.fail("Max retry failed");
-
- } catch (SocketTimeoutException e) {
+
+ } catch (final SocketTimeoutException e) {
Assert.assertNotNull("No errorMsg", e.getMessage());
-
- }
+
+ }
}
-
+
@Test
public void getCustomClientBasicAuthNoPassword() throws EaafException {
final HttpClientConfiguration config = new HttpClientConfiguration("jUnit");
@@ -488,7 +489,7 @@ public class HttpClientFactoryTest {
}
@Test
- public void getCustomClientX509AuthWithWrongAlias() throws EaafException, KeyStoreException,
+ public void getCustomClientX509AuthWithWrongAlias() throws EaafException, KeyStoreException,
ClientProtocolException, IOException {
final HttpClientConfiguration config = new HttpClientConfiguration("jUnit");
config.setAuthMode("ssl");
@@ -533,7 +534,7 @@ public class HttpClientFactoryTest {
Assert.assertEquals("http statusCode", 200, httpResp2.getStatusLine().getStatusCode());
}
-
+
@Test
public void getCustomClientX509AuthWithHsmFacade() throws EaafException, ClientProtocolException,
IOException, KeyStoreException {
@@ -543,26 +544,26 @@ public class HttpClientFactoryTest {
clientConfig.setSslKeyAlias("authhandler-sign");
clientConfig.setDisableTlsHostCertificateValidation(true);
-
-
+
+
final CloseableHttpClient client = httpClientFactory.getHttpClient(clientConfig);
Assert.assertNotNull("httpClient", client);
//set-up mock-up web-server with SSL client authentication
final Pair<KeyStore, Provider> sslClientKeyStore =
keyStoreFactory.buildNewKeyStore(clientConfig.getKeyStoreConfig());
- X509Certificate clientRootCert = (X509Certificate) sslClientKeyStore.getFirst()
+ final X509Certificate clientRootCert = (X509Certificate) sslClientKeyStore.getFirst()
.getCertificateChain(clientConfig.getSslKeyAlias())[1];
- X509Certificate clientEeCert = (X509Certificate) sslClientKeyStore.getFirst()
+ final X509Certificate clientEeCert = (X509Certificate) sslClientKeyStore.getFirst()
.getCertificateChain(clientConfig.getSslKeyAlias())[0];
-
+
final String localhost = InetAddress.getByName("localhost").getCanonicalHostName();
final HeldCertificate localhostCertificate = new HeldCertificate.Builder()
.addSubjectAlternativeName(localhost)
.build();
final HandshakeCertificates serverCertificates = new HandshakeCertificates.Builder()
- .addTrustedCertificate(clientRootCert)
.addTrustedCertificate(clientEeCert)
+ .addTrustedCertificate(clientRootCert)
.heldCertificate(localhostCertificate)
.build();
mockWebServer = new MockWebServer();
@@ -578,5 +579,5 @@ public class HttpClientFactoryTest {
Assert.assertEquals("http statusCode", 200, httpResp2.getStatusLine().getStatusCode());
}
-
+
}
diff --git a/eaaf_modules/eaaf_module_pvp2_core/src/test/resources/data/pvp_metadata_junit_keystore_classpath_entityId.xml b/eaaf_modules/eaaf_module_pvp2_core/src/test/resources/data/pvp_metadata_junit_keystore_classpath_entityId.xml
index 7ccd5484..a420a641 100644
--- a/eaaf_modules/eaaf_module_pvp2_core/src/test/resources/data/pvp_metadata_junit_keystore_classpath_entityId.xml
+++ b/eaaf_modules/eaaf_module_pvp2_core/src/test/resources/data/pvp_metadata_junit_keystore_classpath_entityId.xml
@@ -67,23 +67,7 @@ ANsmjI2azWiTSFjb7Ou5fnCfbeiJUP0s66m8qS4rYl9L
</ds:X509Certificate>
</ds:X509Data>
<ds:X509Data>
- <ds:X509Certificate>MIIDFDCCArqgAwIBAgIIFy4Oe7D+zq8wCgYIKoZIzj0EAwIwIzEhMB8GA1UEAwwY
-S2V5c3RvcmVCYWNrZWRQa2lTZXJ2aWNlMB4XDTIwMDIxOTE0MDMxNVoXDTIwMDUx
-OTEzMDMxNVowMjEdMBsGA1UEAwwUaW50LWF1dGhoYW5kbGVyLXNpZ24xETAPBgNV
-BAoMCHNvZnR3YXJlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtE1v
-1J54suM3VR17mTO5OKrCBeDP6a2dQswhMmUNO6i1l4eXNbtBvMj7k0mnc4yLLZxQ
-P0cosjT1kNkOvSNCQcSI+869EOdU4QDCreGLss9a84ZNf/X3ioq/2PYTLOJSMkDQ
-qLMHUVawwPYw+ZyUHaY7G0AwX5Gj1gMadfWVMDPAo5OT9WntpqG1850yO0aUMBaF
-GSE9RrWVmL1+d2qHqh/pAwq6DQEtbKCl18t1zQfLZvumnQfF930KB2IkLaq6wRTW
-IRdwte20PfVmEloAOdegXqUX59rkq6+5CaXfIsN+4Vkb12n2ArZwI/EFjgRdtGYj
-CmuySDorynSHrCO934/LHjZtdJPFbg5/4CTXpI1aInum4uqDuq6xoL+ns4hk8kkD
-9H9Pj5MYyjUc51+450ylOwLmGkqNDJBh3ecnH76NIoKviR3KlBaj0bSlnoV5Kl8H
-bfnXQD98BH+YLeULrD3XWVjirOWPdfdNKcInpuXrdTZ/GvyGL5T/63mtEWiWysfP
-Gw4+9AlWNXpyLviaHfxTpC6T76qYHKHd4eltRLubrgL8gHZrJwHio98kKfVMS3Oy
-qHAEWBSWv+LveARn0RF4jlcPIL3gclrU9jxF4k5Btvdax3+if1MWVAZ9ML5263ug
-Qr11Pkbko09VqppyM484/o+mJihTWyucKdVONw8CAwEAATAKBggqhkjOPQQDAgNI
-ADBFAiBJSZqfI1kmJGy8/tRut7h2YbZWNeUA+gmFX+wJxu9ePwIhALgjht8La4AZ
-/r3t33clJW8tGRMiA8cBbxm3Ox0y7DyP</ds:X509Certificate>
+ <ds:X509Certificate>MIIDEzCCArqgAwIBAgIIX/q/dgMGzCYwCgYIKoZIzj0EAwIwIzEhMB8GA1UEAwwYS2V5c3RvcmVCYWNrZWRQa2lTZXJ2aWNlMB4XDTIwMDYwMjA1MjkwMFoXDTIwMDkwMjA1MjkwMFowMjEdMBsGA1UEAwwUaW50LWF1dGhoYW5kbGVyLXNpZ24xETAPBgNVBAoMCHNvZnR3YXJlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAv47+IfV67UBlAFYDtb94z8LfPjmpVaqKLK5nm/FUa3Q6XbtN/QCOM/qO008ylV/ZEa+D8Ys458bfsTZKUcRpFH+hjdnwn1sXQiCvwWZJD73fGH+2PszxSg01fQO0YAHoqd8PHtmtC5hq20i9qO+0Lh0/7ItaJe+MdPslr65ZaSwxYUMKgsAIxwaU14Agvr6QLppr1qjt246Zq/ZEuTNGH3BIui7wMPEm0QZEsUpG0l6UdErFy+Kjxzpjfe8q7v5X/OTYKuS5baB4NJPDBDIhBsgD0+aQfWMGfnH+WjfvZH01W8VyzRMTlCJOAyXBl7cDkMi10xMrsf6j8YAybziNKErDRtMABjlO3O3xUrm/f/Yi9362mQUbR/WWrYoS80jnAtW+VATUd4uasc0MRA2agp9Hc/1bektR50Pw8p3eZS4dKal0Dj5nLVIyW4ahY+WAnRQj1/MblmHLVkM4zZPznzdAn2Pi5bJ/IxhvCtzx4w+/Zifmb0DSWerCzAGsN9TgFAHi/HM0Nt5mCRrf0DI6YOYnXheB9HBVWE12b1kTIYkytcg07WZohRmHLFzBAtafxuZQ3/IV+SXIR9+mIvOSAgkheulrH32lNtfsC/ULWD++JtoJKpabnBjpRErnpX333GwnNyO/s7d4jprMqYWeCFox54NuZicqYKq7KVjlrQUCAwEAATAKBggqhkjOPQQDAgNHADBEAiBQ6esaYUCanPfaKbR+1mZhNQjTrNLi30aqthvWieLDvAIgX1FvQHTBK3GfXjU2QSS2uMG7mWLnQuXA69965bquriU=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
@@ -165,23 +149,7 @@ ANsmjI2azWiTSFjb7Ou5fnCfbeiJUP0s66m8qS4rYl9L
</ds:X509Certificate>
</ds:X509Data>
<ds:X509Data>
- <ds:X509Certificate>MIIDFDCCArqgAwIBAgIIFy4Oe7D+zq8wCgYIKoZIzj0EAwIwIzEhMB8GA1UEAwwY
-S2V5c3RvcmVCYWNrZWRQa2lTZXJ2aWNlMB4XDTIwMDIxOTE0MDMxNVoXDTIwMDUx
-OTEzMDMxNVowMjEdMBsGA1UEAwwUaW50LWF1dGhoYW5kbGVyLXNpZ24xETAPBgNV
-BAoMCHNvZnR3YXJlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtE1v
-1J54suM3VR17mTO5OKrCBeDP6a2dQswhMmUNO6i1l4eXNbtBvMj7k0mnc4yLLZxQ
-P0cosjT1kNkOvSNCQcSI+869EOdU4QDCreGLss9a84ZNf/X3ioq/2PYTLOJSMkDQ
-qLMHUVawwPYw+ZyUHaY7G0AwX5Gj1gMadfWVMDPAo5OT9WntpqG1850yO0aUMBaF
-GSE9RrWVmL1+d2qHqh/pAwq6DQEtbKCl18t1zQfLZvumnQfF930KB2IkLaq6wRTW
-IRdwte20PfVmEloAOdegXqUX59rkq6+5CaXfIsN+4Vkb12n2ArZwI/EFjgRdtGYj
-CmuySDorynSHrCO934/LHjZtdJPFbg5/4CTXpI1aInum4uqDuq6xoL+ns4hk8kkD
-9H9Pj5MYyjUc51+450ylOwLmGkqNDJBh3ecnH76NIoKviR3KlBaj0bSlnoV5Kl8H
-bfnXQD98BH+YLeULrD3XWVjirOWPdfdNKcInpuXrdTZ/GvyGL5T/63mtEWiWysfP
-Gw4+9AlWNXpyLviaHfxTpC6T76qYHKHd4eltRLubrgL8gHZrJwHio98kKfVMS3Oy
-qHAEWBSWv+LveARn0RF4jlcPIL3gclrU9jxF4k5Btvdax3+if1MWVAZ9ML5263ug
-Qr11Pkbko09VqppyM484/o+mJihTWyucKdVONw8CAwEAATAKBggqhkjOPQQDAgNI
-ADBFAiBJSZqfI1kmJGy8/tRut7h2YbZWNeUA+gmFX+wJxu9ePwIhALgjht8La4AZ
-/r3t33clJW8tGRMiA8cBbxm3Ox0y7DyP</ds:X509Certificate>
+ <ds:X509Certificate>MIIDEzCCArqgAwIBAgIIX/q/dgMGzCYwCgYIKoZIzj0EAwIwIzEhMB8GA1UEAwwYS2V5c3RvcmVCYWNrZWRQa2lTZXJ2aWNlMB4XDTIwMDYwMjA1MjkwMFoXDTIwMDkwMjA1MjkwMFowMjEdMBsGA1UEAwwUaW50LWF1dGhoYW5kbGVyLXNpZ24xETAPBgNVBAoMCHNvZnR3YXJlMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAv47+IfV67UBlAFYDtb94z8LfPjmpVaqKLK5nm/FUa3Q6XbtN/QCOM/qO008ylV/ZEa+D8Ys458bfsTZKUcRpFH+hjdnwn1sXQiCvwWZJD73fGH+2PszxSg01fQO0YAHoqd8PHtmtC5hq20i9qO+0Lh0/7ItaJe+MdPslr65ZaSwxYUMKgsAIxwaU14Agvr6QLppr1qjt246Zq/ZEuTNGH3BIui7wMPEm0QZEsUpG0l6UdErFy+Kjxzpjfe8q7v5X/OTYKuS5baB4NJPDBDIhBsgD0+aQfWMGfnH+WjfvZH01W8VyzRMTlCJOAyXBl7cDkMi10xMrsf6j8YAybziNKErDRtMABjlO3O3xUrm/f/Yi9362mQUbR/WWrYoS80jnAtW+VATUd4uasc0MRA2agp9Hc/1bektR50Pw8p3eZS4dKal0Dj5nLVIyW4ahY+WAnRQj1/MblmHLVkM4zZPznzdAn2Pi5bJ/IxhvCtzx4w+/Zifmb0DSWerCzAGsN9TgFAHi/HM0Nt5mCRrf0DI6YOYnXheB9HBVWE12b1kTIYkytcg07WZohRmHLFzBAtafxuZQ3/IV+SXIR9+mIvOSAgkheulrH32lNtfsC/ULWD++JtoJKpabnBjpRErnpX333GwnNyO/s7d4jprMqYWeCFox54NuZicqYKq7KVjlrQUCAwEAATAKBggqhkjOPQQDAgNHADBEAiBQ6esaYUCanPfaKbR+1mZhNQjTrNLi30aqthvWieLDvAIgX1FvQHTBK3GfXjU2QSS2uMG7mWLnQuXA69965bquriU=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>