配置 Java 客户机以进行 Kerberos 认证
Java™ 客户机可使用 Kerberos 主体名称和密码或使用 Kerberos 凭证高速缓存 (krb5Ccache),向 WebSphere® Application Server 进行认证。
过程
- 创建 Kerberos 配置文件(krb5.ini 或 krb5.conf)。有关更多信息,请参阅创建 Kerberos 配置文件。
- 将您所创建的 krb5.ini 或 krb5.conf 文件放入缺省位置。 如果任一文件都不在缺省位置中,那么您必须在 sas.client.props 文件中,为 com.ibm.COBRA.krb5ConfigFile 设置正确的路径和 Kerberos 配置文件名。
缺省位置是 c:\winnt\krb5.ini。
缺省位置是 /etc/krb5.conf。
缺省位置是 /etc/krb5/krb5.conf。
缺省位置是 /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf
- 在 sas.client.props 文件中,将 com.ibm.CORBA.authenticationTarget 属性设置为 KRB5。 有关更多信息,请阅读有关配置安全性的信息。
- 此外,在 sas.client.props 文件中,将 com.ibm.CORBA.loginSource 属性设置为如下所示的其中一个受支持的值: 如果 authenticationTarget 是 BasicAuth,那么受支持的 loginSource 如下:
- prompt [缺省值]
- properties
- stdin
- none
如果 authenticationTarget 是 KRB5,那么受支持的 loginSource 如下:- prompt [缺省值]
- properties
- stdin
- none
- krb5Ccache
- krb5Ccache:prompt
- krb5Ccache:properties
- krb5Ccache:stdin
另请考虑如下各项:- krb5Ccache:prompt
- 先使用 krb5Ccache 向 WebSphere Application Server 认证。如果失败,那么回退到 prompt。
- krb5Ccache:properties
- 先使用 krb5Ccache 向 WebSphere Application Server 认证。如果失败,那么回退到 properties。
- krb5Ccache:stdin
- 先使用 krb5Ccache 向 WebSphere Application Server 认证。如果失败,那么回退到 stdin。
- 如果 authenticationTarget 是 KRB5,那么 Java 客户机应用程序必须具有 wsjaas_client.conf 文件。 如果不使用 launchClient 命令,那么必须设置 java 选项,如下所示:
-Djava.security.auth.login.config=wsjaas_client.config
- 如果 authenticationTarget 是 KRB5 且 loginSource 是 Kerberos 凭证高速缓存,请执行以下操作:
- 在 wsjaas_client.conf 文件中,更新 WSKRB5Login 条目:
WSKRB5Login{ com.ibm.ws.security.auth.kerberos.Krb5LoginModuleWrapperClient required credsType=INITIATOR useFirstPass=false forwardable=false renewable=false noAddress=false; };
- 如果 Kerberos 凭证高速缓存并不在缺省位置中,请将 com.ibm.CORBA.krb5CcacheFile 属性设置为 URL: 例如:
com.ibm.CORBA.krb5CcacheFile=FILE:/home/smith/krb5cc_smith
Kerberos 凭证高速缓存文件的缺省位置取决于您所使用的操作系统。以如下顺序定位用户凭证高速缓存:Java 属性 KRB5CCNAME 所引用的文件
<user.home>/krb5cc_<user.name>
<user.home>/krb5cc(如果无法获取 <user.name>)注: 如果使用 Kerberos 凭证高速缓存进行认证,那么客户机 Kerberos 授权凭单不可更新。
- 在 wsjaas_client.conf 文件中,更新 WSKRB5Login 条目:
- 可选: 如果发生错误,请确保所有
WebSphere Application Server 机器的时钟都与 KDC 机器的时钟同步。通过使用 kinit 命令来验证 Kerberos 主体名称和密码。 建议使用 Java SE Development Kit (JDK) 8 随附的 kinit 命令。请输入以下内容以获取此命令的帮助:
kinit -help
kinit 命令的示例如下所示。在本示例中,可以为 duke 获取 Kerberos 授予凭单的凭单 (TGT),且 Kerberos 凭证高速缓存是存储在缺省位置 c:\Documents and Settings\duke\krb5cc_duke 中:kinit duke@JAVA.SUN.COM
注: 此命令用法可能并不适用于所有 KDC 版本。注: Kerberos 主体名称和密码都区分大小写。如果是在 z/OS 上使用 KDC,那么必须按原样输入 RACF 用户标识的 KERB 段中所显示的 Kerberos 主体名称。除非对 RACF 启用了混合大小写的密码,否则必须对 kinit 命令输入所有字母均为大写的密码。
结果
可使用管理控制台或使用 wsadmin 命令在服务器端完成 Kerberos 的配置。有关更多信息,请阅读有关使用管理控制台将 Kerberos 配置成认证机制或 Kerberos 认证命令的信息。
相关任务:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_kerb_auth_client
文件名:tsec_kerb_auth_client.html