我的任务是设置一个ApacheDS 2.0.0 LDAP + Kerberos(包括KDC)服务器,以便在我们的测试环境中使用。我跟着this guide,但是根据该页面的最后一步,我无法使用Kerberos成功验证我的LDAP服务器。
我正在使用Apache Directory Studio
当我选中“需要通过加密的TimeStamp进行预验证”时,我收到错误: javax.security.auth.login.LoginException:解密字段的完整性检查失败(31)
当我取消选中该字段并重新启动服务器时,我得到: javax.security.auth.login.LoginException:校验和失败
我确定我提供的用户名和密码是正确的。可能是什么问题呢?有没有人成功使用Kerberos设置ApacheDS 2.0.0?是否有指南我应该在某个地方?
似乎人们在他们的Kerberos服务器的ApacheDS have yet to document configuration上。
这是我的users.ldif:
version: 1
dn: uid=krbtgt,ou=services,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
objectClass: krb5KDCEntry
objectClass: uidObject
objectClass: krb5Principal
krb5KeyVersionNumber: 0
krb5PrincipalName: krbtgt/EXAMPLE.COM@EXAMPLE.COM
ou: LDAP
uid: krbtgt
krb5Key:: MCGgAwIBEKEaBBjHVICYy3C2UuxkitpXRnZ8PVj4TGgN3xA=
krb5Key:: MBmgAwIBF6ESBBCpxZ7JnL7bycwis7pjrB+1
krb5Key:: MBmgAwIBEaESBBCv2PO7KtoerG8VJaCjGPQD
krb5Key:: MBGgAwIBA6EKBAiXyA7xg0OSzQ==
userPassword:: e1NTSEF9WWVWeFJ5cXBJVVQrT1Mva3l6ZForSU5IajBKT1RXdGNBaWdLR0E9P
Q==
dn: ou=services,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: services
dn: uid=jsmith,ou=users,dc=security,dc=example,dc=com
objectClass: top
objectClass: krb5KDCEntry
objectClass: inetOrgPerson
objectClass: krb5Principal
objectClass: person
objectClass: organizationalPerson
cn: John Smith
krb5KeyVersionNumber: 1
krb5PrincipalName: jsmith@EXAMPLE.COM
sn: Smith
krb5Key:: MCGgAwIBEKEaBBh/3/6FzQdeRS+/Sssvg7Xyrr96B3lewT4=
krb5Key:: MBmgAwIBF6ESBBCynaCNjbAxJwdWfXMcALRn
krb5Key:: MBmgAwIBEaESBBBMzkq2olx6fnakVd8zcle3
krb5Key:: MBGgAwIBA6EKBAhdv8v9esiwbQ==
uid: jsmith
userPassword:: e2NyeXB0fXJWOFlyaTlTR2tsYWs=
dn: ou=users,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: users
dn: uid=ldap,ou=services,dc=security,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
objectClass: krb5KDCEntry
objectClass: uidObject
objectClass: krb5Principal
krb5KeyVersionNumber: 0
krb5PrincipalName: ldap/example.net@EXAMPLE.COM
ou: TGT
uid: ldap
krb5Key:: MCGgAwIBEKEaBBioosfqqw3pVAsaLNC12rws8vICSX9kouk=
krb5Key:: MBmgAwIBF6ESBBCXJFfXz9ORAGaUrSCHGzoN
krb5Key:: MBmgAwIBEaESBBA+pN1ipA5mPjNSLYBbuKgy
krb5Key:: MCmgAwIBEqEiBCBCxVPVFGb6miec+4ztUuMilATQNemHh+gxT+KmsqN1RQ==
krb5Key:: MBGgAwIBA6EKBAhMCxySpE8O9w==
userPassword:: e1NTSEF9YUZEazF6bnZyZFVscVFhbEpxc3dIUDBpRlJ4QysyZkUxK2RaZUE9P
Q==
dn: dc=security,dc=example,dc=com
objectClass: top
objectClass: domain
dc: security
dn: dc=example,dc=com
objectclass: top
objectclass: domain
dc: example
答案 0 :(得分:0)
请提供版本详细信息和服务器的config.ldif。
P.S:将这些详细信息发布到ApacheDS用户邮件列表将有助于快速响应。原因 在这里,我是唯一监控SO的人。
答案 1 :(得分:0)
我在使用Java 1.7.0_60的Windows 7上使用Apache 2.0.0-M17时遇到了完全相同的错误。最后,我设法通过使用纯文本密码而不是密码哈希来克服这个问题。我尝试了不同的密码哈希算法,但它们都没有用,所以最后我放弃了并使用了纯文本密码。
的问候,
Detelin
答案 2 :(得分:0)
我也有完全相同的问题,在Windows7上使用JDK8并在Eclipse Luna上运行Studio。 Apache DS文档缺少许多标有“TODO”的页面,并且在论坛等搜索没有取得太大进展,除了提示它可能按指南解释的方式工作,但仅限于Linux环境而不是Windows?如果您对此有任何进一步的消息,请在此处发布。
答案 3 :(得分:0)
似乎问题是由用户的密码设置引起的。 设置密码时请使用“纯文本”而不是其他哈希算法。密码哈希拦截器默认会将SSHA哈希。
如果这无法解决您的问题,请告诉我。