title: What is Is the difference in SP metadata file when it uses self signed and CA issued cert
body: <p>We have a SAML setup which uses a self-signed cert on a SP metadata file but when I change it to a CA issued cert, spring SAML complains that it cannot recognize the algorithm of the signing certificate. So I would like to know if the format of the SP metadata file itself would change? also should we also do any changes to the securityContext.xml in spring setup? </p>
  
  <p>I have the CA issued cert imported into the keystore successfully. As part of the extended metadata I do mention the correct signing and encrypting alias to be used.</p>
  
  <p>Excerpt of the changes to the SP metadata file I tried
  ...
  zev7iEYUkjO8ESb+sm+kmcsoXzF6r8ddVAR03+DWoca8jJWm+6Gh2NNffnM4yXJa
  mbGgiPpC2nyThvDCHIj2J32p
              
              
                  CN=GeoTrust SSL CA, O="GeoTrust, Inc.", C=US
              
              CN=mydmainname.com,
                  O=company, L=New York, ST=New York, C=US,
                  SERIALNUMBER=1234
              
              
           
        </p>
  
  <p>Please see the exception below</p>
  
  <p>javax.servlet.ServletException: org.opensaml.ws.message.encoder.MessageEncodingException: The signing credential's algor
  ithm URI could not be derived
      at org.springframework.security.saml.SAMLEntryPoint.commence(SAMLEntryPoint.java:164)
      at com.mae.service.saml.SAMLEngine.sendAuthenticationRequest(SAMLEngine.java:45)
      at com.mae.frontend.action.saml.SAMLRequestAction.execute(SAMLRequestAction.java:69)
      at com.mae.frontend.framework.request.Action._processAction(Action.java:94)
      at com.mae.frontend.framework.request.Action.processAction(Action.java:74)
      at com.mae.frontend.framework.request.ControllerServlet._doPost(ControllerServlet.java:175)
      at com.mae.frontend.framework.request.ControllerServlet.doPost(ControllerServlet.java:107)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.mae.perf.web.filter.HttpCompressionFilter._doFilter(HttpCompressionFilter.java:62)
      at com.mae.perf.web.filter.HttpCompressionFilter.doFilter(HttpCompressionFilter.java:44)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.mae.i18n.ILContextFilter.doFilter(ILContextFilter.java:39)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.mae.pmon.xt.http.HttpCallFilter._doFilter(HttpCallFilter.java:54)
      at com.mae.pmon.xt.http.HttpCallFilter.doFilter(HttpCallFilter.java:38)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:722)
  Caused by: org.opensaml.ws.message.encoder.MessageEncodingException: The signing credential's algorithm URI could not be
   derived
      at org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder.getSignatureAlgorithmURI(HTTPRedirectDeflateEncoder.j
  ava:223)
      at org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder.buildRedirectURL(HTTPRedirectDeflateEncoder.java:188)
      at org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder.doEncode(HTTPRedirectDeflateEncoder.java:104)
      at org.opensaml.ws.message.encoder.BaseMessageEncoder.encode(BaseMessageEncoder.java:52)
      at org.springframework.security.saml.processor.SAMLProcessorImpl.sendMessage(SAMLProcessorImpl.java:224)
      at org.springframework.security.saml.processor.SAMLProcessorImpl.sendMessage(SAMLProcessorImpl.java:192)
      at org.springframework.security.saml.websso.AbstractProfileBase.sendMessage(AbstractProfileBase.java:148)
      at org.springframework.security.saml.websso.WebSSOProfileImpl.sendAuthenticationRequest(WebSSOProfileImpl.java:105)
      at org.springframework.security.saml.SAMLEntryPoint.initializeSSO(SAMLEntryPoint.java:226)
      at org.springframework.security.saml.SAMLEntryPoint.commence(SAMLEntryPoint.java:153)
      ... 31 more
  Appreciate your help.</p>