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

如何生成login.conf和krb5.ini使用JavaKerbernos Http客户端与Active Directory kerberos认证?

佴英奕
2023-03-14

我想使用Kerberos从Java应用程序对受IIS kerberos保护的网站进行身份验证。目标是能够使用keytab文件对服务号进行身份验证,而无需指定用户名和密码。

这描述了如何使用http客户端使用kerberos进行身份验证。但它需要几个特殊的配置文件登录。conf和krb5.ini。

格式是登录conf在这里描述:https://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/LoginConfigFile.html

krb5.ini文件的格式如下:https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html

我还找到了一些相关的sof文章(如下所列)。

但是它们似乎都没有描述实际创建login.conf文件和krb5.conf/krb5.ini文件以用于Active Directory的过程

生成这些文件以用于Windows Active Directory kerberos情况的步骤是什么?

这是我到目前为止所拥有的,但我完全脱离了我从朋友和网上随机链接中找到的例子。

login.conf

KrbLogin {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  storeKey=true
  keyTab="file:///C:/kerb/kerberos500.keytab"
  useTicketCache=true
  principal="kerberos500@FUSIONIS.LIFE"
  debug=true;
};

com.sun.security.jgss.initiate {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  storeKey=true
  keyTab="/home/ndipiazza/lucidworks/httpclient-tester/kb.keytab"
  useTicketCache=true
  principal="kerberos500@FUSIONIS.LIFE"
  debug=true;
};

krb5.ini

[libdefaults]
    default_realm = FUSIONIS.LIFE
    default_tkt_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    default_tgs_enctypes = aes128-cts-hmac-sha1-96  rc4-hmac
    permitted_enctypes = aes128-cts-hmac-sha1-96 rc4-hmac
    dns_lookup_realm = false
    dns_lookup_kdc = false
    ticket_lifetime = 24h
    renew_lifetime = 7d
    forwardable = true
    udp_preference_limit = 1

[realms]
FUSIONIS.LIFE = {
   kdc = 192.168.1.71
   admin_server = 192.168.1.71
}

[domain_realm]
.fusionis.life = FUSIONIS.LIFE
fusionis.life = FUSIONIS.LIFE

在Windows上创建键选项卡

ktpass /princ kerberos500@FUSIONIS.LIFE /pass password /ptype KRB5_NT_PRINCIPAL /out kerberos500.keytab

在Ubuntu Linux上创建键表

ktutil
addent -password -p kerberos500@FUSIONIS.LIFE -k 1 -e RC4-HMAC
- it will ask you for password of kerberos500 -
wkt kerberos500.keytab
q

相关软件:

HttpClient为Kerberos身份验证设置凭据

Java中的简单Kerberos客户端?

alter Windows文件中的krb5.ini文件在哪里?

共有1个答案

堵恺
2023-03-14

我想问了这个之后,答案是-

 类似资料:
  • 首先登录小米账号,进入【管理平台】,未认证的用户会进入【认证页面】。 认证时需要填写企业与联系人信息: 企业名称 工商营业执照注册号 企业工商营业执照 手机号 email 法人姓名 法人身份证号 法人身份证正反面照片 并且同意协议后,可提交认证申请。 提交认证申请后,会有专人审核,审核通过后就成为认证企业。审核不通过,可以再次提交审核。

  • 问题内容: 首先,我希望您知道我已经可以连接到Web服务服务器。我问这个问题是因为我想对wsimport生成的客户端如何工作有更深入的了解。根据我的研究,wsimport使用JAXWS。请注意,我对JAXWS不了解。 我使用wsimport生成了客户端。我使用的WSDL来自Axis2 Web服务,并由Axis2自动生成。下面的类是wsimport的结果: 下 下 通过上面的类,我可以确定其中包含W

  • 在做其他事情之前,我想让你知道我已经可以连接到web服务服务器了。我问这个问题是因为我想更深入地了解wsimport生成的客户端是如何工作的。根据我的研究,wsimport使用JAXWS。请注意,我不了解JAXWS。 我使用wsimport生成了我的客户机。我使用的WSDL来自Axis2 web服务,由Axis2自动生成。下面的类是wsimport的结果: 在下 在下 通过上面的类,我可以看出包含

  • 对于我们的指向站点VPN,我们希望创建一个根证书。因此我们可以为所有需要登录VPN的合作伙伴创建尽可能多的客户端证书。(Azure虚拟网络) 手工完成这件事很完美。我们生成一个作为根CA的证书(自签名)。我们可以在powershell中这样做:

  • 我在Jmeter中执行API时遇到了问题。我们的API中有客户端证书。pfx格式。我已经把它换成了。jks,并在系统中进行了更新。jmeter的特性。在jmeter中,我创建了一个csv文件来获取创建的别名。但是,错误显示为 错误:响应消息:非HTTP响应消息:java.lang.IllegalArgumentException:未找到别名的证书:'certalias' 以下是我的别名信息:别名:

  • 我需要在我的项目中使用一个web服务。我使用NetBeans所以我右键单击我的项目并尝试添加一个新的“Web服务客户端”。上次我检查时,这是创建web服务客户机的方法。但它导致一个AssertionError,它说: java.lang.AssertionError:org.xml.sax.SAXParseException;systemid:jar:file:/path/to/glassfish