当前位置: 首页 > 知识库问答 >
问题:

在使用集成Windows身份验证运行SPNEGO Kerberos时发生GSSException

娄振
2023-03-14

我正在尝试使用spnego和tomcat设置Kerberos集成Windows身份验证。

这是我第一次这样做,还没有看到真正的环境,所以依赖在线留档主要是spnego网站。我得到以下错误:

GSSException:在GSS-API级别未指定故障(机制级别:无效参数(400)无法找到适当类型的密钥以使用HMAC解密AP REP-RC4)

Catalina log shows:
Jan 30, 2017 10:12:37 AM net.sourceforge.spnego.SpnegoHttpFilter doFilter
SEVERE: HTTP Authorization Header=Negotiate <edited - actual had a big key>
Jan 30, 2017 10:41:24 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-8443"]
Jan 30, 2017 10:41:24 AM org.apache.coyote.AbstractProtocol pause

附加我的krb5和login.conf。

krb5.conf login.conf

KLIST command gives 2 keys:
CLIENT: B1GYZDM @ test.win.org
Server: krbtgt/test.win.org @ test.win.org
KerbTicket Encryption Type: RSADSI RC4-HMAC(NT) 

CLIENT: B1GYZDM @ test.win.org
Server: krbtgt/test.win.org @ test.win.org
KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96

Tomcat作为本地服务运行。按键支持128

你能帮我解决这个问题吗?

KRB5.conf:
[libdefaults]
default_tkt_enctypes = aes128-cts aes256-cts
default_tgs_enctypes = aes128-cts aes256-cts
permitted_enctypes   = aes128-cts aes256-cts

[realms]
test.win.org  = {
    kdc = test.win.org 
    default_domain = test.win.org 
}

[domain_realm]
test.win.org = test.win.org


login.conf:
spnego-client {
com.sun.security.auth.module.Krb5LoginModule required;
};

spnego-server {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
keyTab="file:///E:/Apps/apache-tomcat-7.0.40/bin/test.keytab"
isInitiator=false;
};

custom-client {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
keyTab="file:///E:/Apps/apache-tomcat-7.0.40/bin/test.keytab"
principal=B1ADPST000;
};

共有1个答案

澹台新知
2023-03-14

我猜你在访问webapp时会出错。。

keytab文件很可能没有匹配的键条目。

创建密钥表文件时,应使用“/crypto all”。

您可以在客户端而不是服务器端运行“klist”,并检查客户端从KDC获得的服务票证(部署WebApp的主机),而不是“票证授予票证(TGT)”

 类似资料:
  • 我的问题是,我们有一组运行SiteMinder但非常糟糕的遗留代码。它允许IIS匿名并避免使用Active Directory。 我们正在重建此应用程序,并希望将SiteMinder与IIS和集成。净额4.0。我知道我可以构建自己的安全框架,无需用户名和密码即可完成所有工作(因为我们不希望SiteMinder提供),但我想知道是否有办法使用内置的Windows身份验证(窗体或Windows)与Si

  • 我们现在正在进行的项目是使用SAML令牌通过ADFS进行单点登录<此项目应遵循以下基本规则: 1。代理使用其凭据登录到windows 2。代理登录到web应用程序(依赖方) 3。web应用程序应重定向到ADFS中的STS(Active Directory是身份提供程序),并使用代理在其windows身份验证(无缝身份验证)中使用的凭据登录 4。因此,不应显示STS登录页面,并且应验证用户身份。之后

  • 问题内容: 当使用node.js作为客户端时,是否可以使用Windows集成身份验证连接到服务器(例如,连接到IIS时)? 我对此的搜索仅显示将node.js用作服务器的结果。 问题答案: 2015更新: 现在有些模块实现了Windows集成的身份验证。 node- sspi 使用SSPI(Windows安全API)来处理服务器端的事务,但不执行client auth 。有几种客户端实现,例如ht

  • 赛贝斯ASE版本15或以上,并使用ADO. net连接到赛贝斯。是否可以使用Windows身份验证登录到赛贝斯ASE?

  • 我已经从这个github集成了RubyCAS客户端https://github.com/rubycas/rubycas-client它正在工作并启动我的CAS服务器进行身份验证。。。但我遇到的问题是在我的应用程序控制器上插入before\u filter CASClient::Frameworks::Rails::filter之后。rb,我的模型不工作,我无法从模型中添加/编辑/删除内容。 我的R

  • 我需要使用 JDBC 连接到使用 Windows 身份验证的 SQL Server,其中我提供了连接字符串中的用户名和密码。这可以通过Windows身份验证实现吗? 我已经用JTDS和msql-jdbc尝试过这个,但无法让它工作。 我已经尝试了用户名和域的各种组合,但通常得到这样的东西: 019-01-18 14:15:31错误com.pts.demo.service.JdbcService-用户