/**
  * @param ServiceProvider  $serviceProvider
  * @param IdentityProvider $identityProvider
  * @return AuthnRequest
  */
 public static function createNewRequest(ServiceProvider $serviceProvider, IdentityProvider $identityProvider)
 {
     $request = new SAML2_AuthnRequest();
     $request->setAssertionConsumerServiceURL($serviceProvider->getAssertionConsumerUrl());
     $request->setDestination($identityProvider->getSsoUrl());
     $request->setIssuer($serviceProvider->getEntityId());
     $request->setProtocolBinding(SAML2_Const::BINDING_HTTP_POST);
     $request->setSignatureKey(self::loadPrivateKey($serviceProvider->getPrivateKey(SAML2_Configuration_PrivateKey::NAME_DEFAULT)));
     return AuthnRequest::createNew($request);
 }