是否有人成功在Win 2012上使用JDK 1.7在Web Logic 12.1.2上配置了Kerberos SSO? [英] Has anyone configured Kerberos SSO on Web Logic 12.1.2 with JDK 1.7 on Win 2012 successfully?

查看:98
本文介绍了是否有人成功在Win 2012上使用JDK 1.7在Web Logic 12.1.2上配置了Kerberos SSO?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Win 2012 R2上的JDK 1.7.x在Web Logic 12.1.2上配置 Kerberos SSO .我正在使用Java ktab java command to create keytab file.加密包括 DES和rc4-hmac .我的 kerberos ini文件仅使用 rc4-hmac加密. 但是,当我尝试登录到我的应用程序时,Web Logic日志文件(片段)中出现此错误:

I am trying to configure Kerberos SSO on Web Logic 12.1.2 with JDK 1.7.x on Win 2012 R2. I am using Java ktab java command to create keytab file. The encryption includes DES and rc4-hmac. My kerberos ini file only uses rc4-hmac encryption. But when I try to login to my application I am getting this error in Web Logic log file (fragment):

####<Nov 13, 2014 7:24:29 AM PST> <Debug> <SecurityAtn> <ifvm00131> <ICN_ManagedServer_2> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1415892269395> <BEA-000000> <acceptGssInitContextToken failed
com.bea.security.utils.kerberos.KerberosException: Failure unspecified at GSS-API level (Mechanism level: Encryption type AES256 CTS mode with HMAC SHA1-96 is not supported/enabled)
    at com.bea.security.utils.kerberos.KerberosTokenHandler.acceptGssInitContextTokenInDoAs(KerberosTokenHandler.java:351)
    at com.bea.security.utils.kerberos.KerberosTokenHandler.access$100(KerberosTokenHandler.java:43)
    at com.bea.security.utils.kerberos.KerberosTokenHandler$2.run(KerberosTokenHandler.java:239)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
    at com.bea.security.utils.kerberos.KerberosTokenHandler.acceptGssInitContextToken(KerberosTokenHandler.java:237)
    at com.bea.security.utils.kerberos.KerberosTokenHandler.acceptGssInitContextToken(KerberosTokenHandler.java:165)
    at com.bea.common.security.internal.utils.negotiate.SPNEGONegotiateToken.getUsername(SPNEGONegotiateToken.java:57)
    at weblogic.security.providers.authentication.NegotiateIdentityAsserterProviderImpl.assertChallengeIdentity(NegotiateIdentityAsserterProviderImpl.java:210)
    at com.bea.common.security.internal.legacy.service.ChallengeIdentityAssertionProviderImpl$ChallengeIdentityAsserterV2Adapter.assertChallengeIdentity(ChallengeIdentityAssertionProviderImpl.java:130)
    at com.bea.common.security.internal.service.ChallengeIdentityAssertionTokenServiceImpl.assertChallengeIdentity(ChallengeIdentityAssertionTokenServiceImpl.java:120)

并且无法成功登录我的应用程序.我在浏览器中遇到错误 401-未经授权的错误.

and login to my application is unsuccessful. I am getting in browser Error 401--Unauthorized error.

当我使用 AES256加密重新配置环境时,出现了校验和失败错误.

When I reconfigure the env using the AES256 encryption I am getting Checksum failed error.

我想知道是否有人遇到过类似的问题并且能够成功地重新命名它?

I wonder if anyone experienced similar issues and was able to resole it successfully?

这是我的krb5.ini文件,位于c:\ windows目录中

Here is my krb5.ini file located in the c:\windows directory

[libdefaults]
    default_realm = MYREALM.LOCAL
    kdc_timesync = 1
    ccache_type = 4
    forwardable = true
    proxiable = true
    default_tgs_enctypes = rc4-hmac
    default_tkt_enctypes = rc4-hmac
    ticket_lifetime = 600

[realms]
    MYREALM.LOCAL = {
        kdc = adhostname.mydomain.local:88
        admin_server = adhostname.mydomain.local
        default_domain = mydomain.local
    }

[domain_realm]
    mydomain.local = MYREALM.LOCAL
    .mydomain.local = MYREALM.LOCAL

这是我的配置文件

com.sun.security.jgss.krb5.initiate 
{
   com.sun.security.auth.module.Krb5LoginModule required
   principal="account@REALM.LOCAL" useKeyTab=true
   keyTab="C:\\sso\\wlker.keytab" storeKey=true debug=true;
};

com.sun.security.jgss.krb5.accept 
{
   com.sun.security.auth.module.Krb5LoginModule Required
   principal="account@REALM.LOCAL" useKeyTab=true
   keyTab="C:\\sso\\wlker.keytab" storeKey=true debug=true;
};

Myapp
{
weblogic.security.auth.login.UsernamePasswordLoginModule required authOnLogin=true;
};

推荐答案

我之前已经回答过.请搜索,您必须启用/安装无限的安全策略.

I have already answered this before. Please search, you have to enable/install unlimited security policy.

这篇关于是否有人成功在Win 2012上使用JDK 1.7在Web Logic 12.1.2上配置了Kerberos SSO?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆