¿Cómo cambio el certificado de un proveedor de servicios Shibboleth?

0

¿Cómo cambio el certificado de un proveedor de servicios Shibboleth? Tengo un proveedor de identidad (IDP) y un proveedor de servicios (SP) y necesito reemplazar el certificado con un certificado firmado por Verisign. Estoy probando con un certificado autofirmado creado con Shibboleth, etc / shibboleth / keygen.bat.

He añadido el nuevo certificado & clave como un CredentialResolver de reserva en shibboleth2.xml para el SP:

<CredentialResolver keyName="Standby" type="File" key="D:/tmp/sp-key-qa.pem" certificate="D:/tmp/sp-cert-qa.pem"/>

He actualizado los metadatos para el IDP agregando el certificado en el archivo de metadatos:

relying-party.xml:

    <metadata:MetadataProvider id="CMSMd" xsi:type="metadata:ResourceBackedMetadataPro$
        <metadata:MetadataResource xsi:type="resource:FilesystemResource" file="/usr/s$
    </metadata:MetadataProvider>

metadata.xml:

<KeyDescriptor>
  <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:X509Data>
      <ds:X509Certificate>
MIIDMDCCAhigAwIBAgIJAJ1BXaNNWMHhMA0GCSqGSIb3DQEBBQUAMCAxHjAcBgNV
...

Y funciona hasta ese punto. Sin embargo, cuando comento el antiguo certificado de los metadatos en el IDP y reinicio, entonces falla.

metadata.xml:

<!-- Old cert
    <KeyDescriptor>
        <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>
MIIFjjCCA3agAwIBAgICAsowDQYJKoZIhvcNAQEFBQAwgaAxCzAJBgNVBAYTAlVT
...

Cuando intento acceder a la URL protegida, se redirige correctamente al IDP, me autentico, se redirige al SP en la URL /Shibboleth.sso/SAML2/Artifact?SAMLart=AAQAAilR ... y falla con 'Internal Error del Servidor. Por favor contacte al administrador del sitio.' en el navegador

En el registro de IDP, dice

  

10: 14: 12.124 - ERROR [org.opensaml.ws.security.provider.ClientCertAuthRule: 156] - Falló la autenticación a través del certificado del cliente para la ID de entidad del presentador de contexto urna: compañía: cms

     

10: 14: 12.154 - DEBUG [PROTOCOL_MESSAGE: 64] -

<?xml version="1.0" encoding="UTF-8"?><soap11:Envelope xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/">
<soap11:Body>
  <saml2p:ArtifactResponse xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" ID="_6cbe5f5c3327d6bea5223322eb637a75" InResponseTo="_d7eda74f5805219b22c4e5be2fe8bbb7" IssueInstant="2012-07-17T14:14:12.143Z" Version="2.0">
     <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">urn:company:sso:idp</saml2:Issuer>
     <saml2p:Status>
        <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Responder">
           <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied"/>
        </saml2p:StatusCode>
        <saml2p:StatusMessage>Message did not meet security requirements</saml2p:StatusMessage>
     </saml2p:Status>
  </saml2p:ArtifactResponse>
</soap11:Body>
</soap11:Envelope>

En el registro de SP, dice:

<13>Jul 17 10:13:38 CMSMACHINE01 [apache-error]: [Tue Jul 17 10:13:38 2012] [error] [client 172.17.87.25] client denied by server configuration: D:/Packages/Apache2.2/htdocs/favicon.ico
<-5>[shibd] ERROR [[1]] OpenSAML.SOAPClient - SOAP client detected a SAML error: (urn:oasis:names:tc:SAML:2.0:status:Responder) (Message did not meet security requirements)
<-5>[apache-shibd] ERROR [[9888] shib_handler] Shibboleth.Listener - remoted message returned an error: Identity provider returned a SAML error in response to artifact.
<-5>[apache-shibd] ERROR [[9888] shib_handler] Shibboleth.Apache - Identity provider returned a SAML error in response to artifact.
<-5>[apache-shibd] ERROR [[9888] shib_handler] Shibboleth.ServiceProvider - sendError could not process error template ()
<13>Jul 17 10:14:12 CMSMACHINE01 [apache-error]: [Tue Jul 17 10:14:12 2012] [error] [client 172.17.87.25] Identity provider returned a SAML error in response to artifact., referer: https://sso.dev.company.com/idp/Authn/BB

Por favor ayuda. Tengo la sensación de que hay una configuración de política de seguridad en algún lugar, pero no puedo encontrar ninguna documentación ni ninguna configuración en los archivos de configuración.

    
pregunta Chloe 17.07.2012 - 17:18
fuente

1 respuesta

0

Solo se puede usar un CredentialResolver en el archivo shibboleth2.xml del SP, ya que los metadatos del SP en el IDP se actualizaron manualmente.

Además, esto era necesario en el servidor web IDP, que está detrás de Apache, para evitar errores crípticos.

SSLVerifyClient optional_no_ca

    
respondido por el Chloe 24.07.2012 - 22:47
fuente

Lea otras preguntas en las etiquetas