diff options
| author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-06-03 15:48:30 +0200 | 
|---|---|---|
| committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-06-03 15:48:30 +0200 | 
| commit | 44979c48809c8b951670b3afc7c7b6c550b3510e (patch) | |
| tree | 81fbf5d6b55d2f6b9f2ed5ca1cbbf3090beacb81 | |
| parent | d0f7083699da7825b27d2c96487a330d99645f0a (diff) | |
| download | EAAF-Components-44979c48809c8b951670b3afc7c7b6c550b3510e.tar.gz EAAF-Components-44979c48809c8b951670b3afc7c7b6c550b3510e.tar.bz2 EAAF-Components-44979c48809c8b951670b3afc7c7b6c550b3510e.zip | |
fix broken jUnit tests
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> | 
