我正在嘗試使用spnego和tomcat設置kerberos iwa身份驗證。SPNEGO Kerberos窗口身份驗證
這是我第一次這樣做,並沒有看到真正的環境,所以依靠在線文檔主要是spnego網站。 我得到以下錯誤:
GSSException: Failure unspecified at GSS-API level (Mechanism level: Invalid Argument (400) Cannot find key of appropriate type to decrypt AP REP - RC4 with HMAC)
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的。
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作爲本地服務。 和keytab支持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;
};
請將krb5.conf和login.conf的內容直接粘貼到問題本身中。不要讓我們去另一個網站下載它們。這些文件足夠短,你可以做到這一點。那麼,無論如何,對於login.conf,肯定是krb5.conf,如果它不比krb5.conf長,你可以顯示相關的SPNEGO節或整個事情。 –
我已經使用文件內容更新了票證 – michael
您是否使用Microsoft Active Directory來使用Kerberos?你是否還有一個keytab創建語法的副本,你創建了keytab,如果有的話,你是否也可以發佈? –