java - 从 Apache Kerby TGTTicket 检索字符串令牌
问题描述
我正在将 apache kerb-client 用于具有 Kerberos 身份验证的 java 项目。以下页面均未提供足够的文档。 https://directory.apache.org/kerby/ https://github.com/apache/directory-kerby
我设法成功地检索了 tgtTicket 和 sgtTicket,但我不知道如何从 sgtTicket 中检索字符串令牌值?它应该来自 sgtTicket.getSessionKey() 或 sgtTicket.getTicket().getEncryptedEncPart() 还是任何其他方式?
有人可以帮忙吗?
final var krbClient = getKrbClient();
// TGT
final var keyTabFile = new File(getKeytabPath());
final var tgtTicket = krbClient.requestTgt(getPrincipal(), keyTabFile);
if (tgtTicket == null || tgtTicket.getSessionKey() == null) {
aLog.error("Ticket Granting Ticket not found");
throw new IllegalArgumentException("No Ticket Granting Ticket retrieved");
}
// SGT
final var sgtTicket = krbClient.requestSgt(tgtTicket, getSpnHostName());
if (sgtTicket == null || sgtTicket.getSessionKey() == null) {
aLog.error("Service Granting Ticket not found");
throw new IllegalArgumentException("No Service Granting Ticket retrieved");
}
// retrieve string value of key from sgtTicket
????????
解决方案
推荐阅读
- docker - Docker compose:扩展这两个服务
- java - Gridpane 如何在 JavaFX 中拉伸 AnchorPane 的全高?AnchorPane 是主窗口的根
- python - 合并在 pandas 中的工作原理
- excel - 如何使用 dax 查询基于多行获取条件计数
- javascript - 尝试创建调度程序时出现类型错误
- azure-devops - 在 VSTS 中删除其他一些工作项后无法删除/修改一些工作项
- css - 打开 chrome 开发工具时响应式站点中断
- r - r 如何将 mapply 与数据表一起使用
- javascript - 在代理处理程序中,如何区分获取属性(var)与调用方法?
- java - 以 dd-MMM-yy HH:mm 格式减去两个日期