Shibboleth属性查询SAML错误:未对入站邮件颁发者进行身份验证

时间:2013-10-09 02:58:26

标签: active-directory ldap shibboleth

IDP-process.log

错误[org.opensaml.ws.security.provider.MandatoryAuthenticatedMessageRule:37] - 入站邮件发布者未经过身份验证。

shibd.log

错误OpenSAML.SOAPClient [109]:SOAP客户端检测到SAML错误:(urn:oasis:names:tc:SAML:2.0:status:Responder)(消息不符合安全要求)

错误Shibboleth.AttributeResolver.Query [109]:属性权限返回SAML错误

Shibboleth身份验证过程正常运行。 Active Directory服务器(LDAP)已正确配置以使用SSL,该SSL已使用LDP.exe进行验证。我还编写了一个简单的Java程序来尝试通过SSL协议连接到Active Directory服务器。我能够使用端口636连接到服务器,传递用户凭据(包括密码),服务器响应正常。

相应的JVM cacerts已经信任证书。

https://wiki.shibboleth.net/confluence/display/SHIB2/ResolverLDAPDataConnector

中记录了

设置说明

但是,在Active Directory服务器的属性查询期间仍然存在错误。以下是配置片段。

知道为什么属性查询出错了吗?

感谢。

属性resolver.xml

<resolver:DataConnector id="myLDAP" xsi:type="dc:LDAPDirectory"
    ldapURL="ldaps://WIN-1GB01UK5SL6.VECISADTEST.com" 
    baseDN="CN=Users,DC=vecisadtest,DC=com" 
    principal="Administrator@vecisadtest.com"
    principalCredential="XXX"
    useStartTLS="false"
    >
    <dc:FilterTemplate>
        <![CDATA[
            (uid=$requestContext.principalName)
        ]]>
    </dc:FilterTemplate>

    <StartTLSTrustCredential xsi:type="sec:X509Filesystem"
    xmlns="urn:mace:shibboleth:2.0:resolver:dc"
    id="UA_AD_CA_Certificate">
      <sec:Certificate>C:\Progs\ShibbolethIdP\certs\VECISADTEST.pem</sec:Certificate>
    </StartTLSTrustCredential>

    <StartTLSAuthenticationCredential xsi:type="sec:X509Filesystem"
    xmlns="urn:mace:shibboleth:2.0:resolver:dc"
    id="IdPtoLDAPCredential">
        <sec:PrivateKey>C:\Progs\ShibbolethIdP\credentials\idp.key</sec:PrivateKey>
        <sec:Certificate>C:\Progs\ShibbolethIdP\credentials\idp.crt</sec:Certificate>
    </StartTLSAuthenticationCredential>


</resolver:DataConnector>

login.config中

edu.vt.middleware.ldap.jaas.LdapLoginModule required
  host="WIN-1GB01UK5SL6.VECISADTEST.com"
  port="636"
  base="CN=Users,DC=vecisadtest,DC=com"
  tls="false"
  serviceCredential="XXX"
  userRoleAttribute="sAMAccountName"
  serviceUser="Administrator@vecisadtest.com"
  ssl="true"
  subtreeSearch = "true"
  userField="sAMAccountName";

IDP-metadata.xml中

<AttributeService Binding="urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding" Location="https://idp.janet.org:8444/idp/profile/SAML1/SOAP/AttributeQuery"/><AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp.janet.org:8444/idp/profile/SAML2/SOAP/AttributeQuery"/>

感谢。

1 个答案:

答案 0 :(得分:1)

通过更新服务提供商上的配置文件 shibboleth2.xml 解决了该问题。 signed属性必须设置为true。

[Shibboleth服务提供商安装位置] \ etc \ shibboleth \ shibboleth2.xml

SPConfig&gt; ApplicationDefaults @签署

Shibboleth Service Provider 2.5.2的默认安装,签名属性为false。