@Test
void testWrongSignatureCertificate() throws URISyntaxException
{

  // load the wrong certificate
  RequestingServiceProvider sp = new RequestingServiceProvider("http://localhost:8080/eIDASDemoApplication/Metadata");
  URL resource = RequestHandlerTest.class.getResource("/de/governikus/eumw/eidasmiddleware/bos-test-tctoken.saml-encr.p12");
  File keystoreFile = new File(resource.toURI());
  KeyStore signatureKeystore = KeyStoreSupporter.readKeyStore(keystoreFile, DEFAULT_PASSWORD);
  sp.setSignatureCert((X509Certificate)KeyStoreSupporter.getCertificate(signatureKeystore,
                                                                        "bos-test-tctoken.saml-encr")
                                                        .get());
  Mockito.when(mockServiceProviderConfig.getProviderByEntityID("http://localhost:8080/eIDASDemoApplication/Metadata"))
         .thenReturn(sp);
  // create the handler and process the rquest with the wrong signature
  RequestHandler requestHandler = new RequestHandler(mockSessionStore, mockConfigHolder,
                                                     mockServiceProviderConfig);
  RequestProcessingException requestProcessingException = Assertions.assertThrows(RequestProcessingException.class,
                                                                                  () -> requestHandler.handleSAMLRequest(RELAY_STATE,
                                                                                                                         GET_REQUEST,
                                                                                                                         false));
  Assertions.assertEquals(requestProcessingException.getCause().getClass(),
                          ErrorCodeException.class,
                          "ErrorCodeException expected as cause");
  Assertions.assertEquals(RequestHandler.CANNOT_PARSE_SAML_REQUEST,
                          requestProcessingException.getMessage());
}