Java 7 Kerberos 问题 - AES128 校验和损坏

2023-12-21

我正在从 Java 6 迁移到 Java 7,并且遇到了 Kerberos 身份验证问题。在我看来,底层加密类型顺序已被切换,因此使用了不同的加密类型。在这种情况下Aes128CtsHmacSha1EType当 Java 7 运行时,将用于部分事务。ArcFourHmacEType在 Java 6 运行时以及 Java 7 运行的其他部分使用。

其他详细信息:在 Linux (Fedora 16) 上针对 Windows Active Directory 服务器运行。

我知道如果我在 krb5.conf 文件中设置 default_tkt_enctypes、default_tgs_enctypes、permissed_enctypes 参数,我就可以进行身份​​验证;然而,我想让它在没有文件的情况下工作,理想情况下不必强制一两个加密类型。

这是我收到的错误消息:

java.security.PrivilegedActionException: javax.naming.AuthenticationException: GSSAPI [Root exception is javax.security.sasl.SaslException: Final handshake failed [Caused by GSSException: Token had invalid integrity check (Mechanism level: Corrupt checksum in Wrap token)]]
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at *internal.code*.LDAPAuthenticator.authenticate(LDAPAuthenticator.java:46)
at *internal.code*.LDAPAuthenticatorTest.testUpdateUser(LDAPAuthenticatorTest.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at junit.textui.TestRunner.doRun(TestRunner.java:116)
at com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java:139)
at junit.textui.TestRunner.doRun(TestRunner.java:109)
at com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs(JUnit3IdeaTestRunner.java:52)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:182)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: javax.naming.AuthenticationException: GSSAPI [Root exception is javax.security.sasl.SaslException: Final handshake failed [Caused by GSSException: Token had invalid integrity check (Mechanism level: Corrupt checksum in Wrap token)]]
at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:168)
at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:232)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2740)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.init(InitialContext.java:242)
at javax.naming.InitialContext.<init>(InitialContext.java:216)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
at *internal.code*.LDAPAuthenticator.getAttributeFor(LDAPAuthenticator.java:156)
at *internal.code*.user.LDAPAuthenticator.access$000(LDAPAuthenticator.java:27)
at *internal.code*.user.LDAPAuthenticator$1.run(LDAPAuthenticator.java:49)
... 27 more
Caused by: javax.security.sasl.SaslException: Final handshake failed [Caused by GSSException: Token had invalid integrity check (Mechanism level: Corrupt checksum in Wrap token)]
at com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:328)
at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:187)
at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:132)
... 42 more
Caused by: GSSException: Token had invalid integrity check (Mechanism level: Corrupt checksum in Wrap token)
at sun.security.jgss.krb5.WrapToken_v2.getData(WrapToken_v2.java:151)
at sun.security.jgss.krb5.WrapToken_v2.getData(WrapToken_v2.java:105)
at sun.security.jgss.krb5.Krb5Context.unwrap(Krb5Context.java:983)
at sun.security.jgss.GSSContextImpl.unwrap(GSSContextImpl.java:403)
at com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:234)
... 44 more

在此设置中是否可以使用 AES128?

如果我无法让 AES128 工作,有没有办法通过系统参数设置默认的 enctypes(而不是使用 krb5.conf)?


听 James Cape 的,安装无限安全文件。由于美国的管辖权,JRE 不能与该 JAR 一起提供。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 7 Kerberos 问题 - AES128 校验和损坏 的相关文章

  • java替代Thread.stop()来中断特定调用

    我正在寻找一种方法来告诉这个调用 大约需要 20 120 秒 final Area image final AffineTransform transform new AffineTransform transform scale imag
  • Eclipse 自动完成更改变量名称

    只是一个愚蠢的问题 但很难搜索 因为有很多关于 Eclipse 自动完成的主题 而且很难找到与我的问题匹配的内容 所以问题是 如果我写 MyClass MyVarName 然后按空格键 添加 new MyClass Eclipse 自动添加
  • 隐藏类的 System.out.print 调用

    我正在使用 java 库 jar 文件 该文件的作者放入了一堆System out print and System out printlns 有没有办法隐藏特定对象的这些消息 编辑 看起来jar文件似乎正在创建一堆线程 并且每个线程都有它
  • Java byte[] 与 String 之间的转换

    为什么这个junit测试失败了 import org junit Assert import org junit Test import java io UnsupportedEncodingException public class T
  • C:如果文件描述符被删除,阻塞读取应该返回

    我正在以阻塞的方式从设备 文件描述符中读取 可能会发生这样的情况 在不同的线程中 设备被关闭并且文件描述符被删除 不幸的是 读取没有返回或注意到并且一直阻塞 作为一种解决方法 我可以使用 select 作为超时来执行 while 循环 如果
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • JSON 对象数组转 Java POJO

    将此 JSON 对象转换为 java 中的类 您的 POJO 类中的映射将如何 ownerName Robert pets name Kitty name Rex name Jake This kind of question is ver
  • Spring 术语中命令、表单、业务和实体对象之间的区别?

    我试图理解这些对象在松散耦合系统方面的差异 业务对象与实体对象相同吗 我可以使用 MVC 中的业务或实体对象作为我的命令对象吗 命令对象与表单对象相同吗 只是寻找 Spring 术语和用法中对象类型的说明 我在 stackoverflow
  • Ant 无法启动,给出主类错误

    我正在运行 Elementary OS 基于 Ubuntu 12 并且在运行 apache ant 时遇到问题 它在重新启动之前就可以正常工作 所以我不确定会发生什么变化 我在 etc environment 中定义了环境变量 如下所示 P
  • 将 EditText 聚焦在设备上运行的 PopupWindow 中时出现异常

    我正在为 Android 开发一个弹出窗口 它正在工作 我在上面添加了一个 EditText 和一个按钮 当在 ADV 上运行时 它可以正常工作 而在设备上运行时 当我专注于 EditText 时 这会抛出一个奇怪的异常 android v
  • Java 套接字:可以从一个线程发送并在另一个线程上接收吗?

    这可能是一个非常基本的问题 但我很难找到答案 让一个线程写入 Socket 的输出流 而另一个线程从 Socket 的输入流读取数据 这样可以吗 编辑 这是一个与外部服务器通信的客户端应用程序 我并不是想让两个线程互相交谈 很抱歉含糊不清
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • wsdl 没有服务元素

    我必须使用 WCF Web 服务并获得 WSDL 外部的 因此无法控制 WSDL 在 WSDL 定义中 我没有找到包含服务 端口和地址元素的服务元素 WSDL 中不存在这种情况正常吗 这对于 WCF WSDL 来说很常见吗 我正在尝试使用轴
  • 将变量从 jenkins 传递到 testng.xml

    我想根据从詹金斯传递的变量运行测试用例 例如 选择您要运行的测试用例 测试用例一 测试用例二 在 pom xml maven 中
  • 配置:错误:无法运行C编译的程序

    我正在尝试使用 Debian Wheezy 操作系统在我的 Raspberry Pi 上安装不同的软件 当我运行尝试配置软件时 我尝试安装我得到此输出 checking for C compiler default output file
  • 如何告诉 IntelliJ 使用 Java 1.6 JDK 启动 gradle?

    一个简单的问题 即使经过几个小时的尝试和搜索 我也无法弄清楚 我安装了 Java 6 和 7 如何告诉 IntelliJ 使用 JDK 版本 1 6 启动 Gradle 构建 无论我做什么 IntelliJ 都会以以下方式开始我的 grad
  • 如何修改生成的SOAP请求?

    我正处于创建输出拦截器并从 SOAP 消息中获取 OuputStream 的阶段 但是 如何在将 SOAP 信封发送到端点之前对其进行修改呢 我想删除一些 xml 元素 一种方法是获取文档并通过 XSLT 转换运行它 您可以通过调用来获取拦
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • Java 相当于 Python 的 urllib.urlencode(基于 HashMap 的 UrlEncode)

    From https stackoverflow com questions 2018026 should i use urllib or urllib2 2018103 2018103 Java 中 Python 的 urllib url
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集

随机推荐

  • 如何使用 JSDoc 在 javascript 中转换 TypeScript 类型

    当使用 TypeScript 检查 JavaScript 代码时 如何转换为与推断不同的类型 打字稿有
  • Java中的listFiles()无法获取所有文件

    我写了这个函数 看起来不错 但是如果当前目录中有多个文件夹并且没有文件 它就会失败 它仅进入第一个文件夹并在那里工作并忽略其他文件夹 我该如何修复这个错误 public static void getAllFiles File folder
  • 归纳命题在 Coq 中如何运作?

    我正在阅读软件基础中的 IndProp 和 Adam Chlipala 的第 4 章书 但我在理解归纳命题时遇到了困难 为了运行示例 让我们使用 Inductive ev nat gt Prop ev 0 ev 0 ev SS forall
  • 在 iPhone 上保存数据的最佳方法

    我正在编写一个 iPhone 应用程序 需要保存应用程序的状态 5K 左右 我主要担心的是数据在升级过程中持续存在 我使用的一些应用程序显然犯了这个错误 但我宁愿不这样做 要保存状态 NSUserDefaults 是最佳选择 我相信大多数
  • android:如何制作三角形布局

    我想为谷歌地图制作自定义信息窗口 我可以做到 但我无法制作三角形波纹管布局 我可以在那里添加图像 但布局在外线上有阴影 有人建议我该怎么做 如何制作红色区域内的部分 正如你所看到的 外部布局有阴影 您可以使用材质组件库来创建自定义shape
  • 具有 Pod 依赖项的 XCFramework

    我们的目标是创建一个隐藏我们内部代码的框架并向我们的客户提供SDK 我们想到创建满足我们要求的XCFramework 互联网上也有人建议采用伞形框架 但大多数建议避免这种方法 我们的框架依赖于我们通过 Pod 使用的一些第三方库 问题 XC
  • 应用程序应如何使用 ForegroundLockTimeout 注册表值?

    如果一个应用程序调用并激活另一个应用程序 则可能会出现被调用的应用程序未进入前台的问题 One 解决方法 http social msdn microsoft com Forums en US 20ef51e5 528f 4f0a 9bdb
  • 错误:“ModalBottomSheetRoute”是从两者导入的

    错误 ModalBottomSheetRoute 是从 package flutter src material bottom sheet dart 和 package modal bottom sheet src bottom sheet
  • 如何在 jQuery 中转义单引号? [复制]

    这个问题在这里已经有答案了 我正在尝试使用转义函数来转义单引号 var tagDesc Workers Compensation tagDesc escape tagDesc tagDesc tag css display none 转义函
  • PHP DataMapper 模式:我的类需要 PDO 实例,我想将其包装在 Db 类中

    这就是我所拥有的 class Entry public id public name public seoName public timeCreated public function someFunction class EntryMap
  • 如何从现有数据帧中创建数据帧中的上一列和下一列?

    所以 假设我有一个这样的数据框 df pd DataFrame person A A B B A datetime 2018 02 26 10 49 32 2018 02 26 10 58 03 2018 02 26 10 51 10 20
  • 如何粘贴到终端?

    我复制了一个网址 例如git gitorious org openhatch oh mainline git 我想使用键盘快捷键将其粘贴到终端中 Please不要说 右键单击并粘贴 Gnome terminal defaults to Co
  • .NET 不在 PATH 中搜索我的 C# DLL

    我有一个 C dll 例如 dll1 它被另一个 C dll 例如 dll2 引用 dll1 的路径在环境变量 PATH 中指定 当我尝试编译 dll2 时 dll2 报告错误 无法找到程序集 dll1 我不知道如何才能实现这一点 我认为
  • 如何让 WCF 与此 Web 服务对话?

    这是后续的这个问题 https stackoverflow com questions 1953132 whats the problem with this web service method 按照建议作者 Benjamin 在这里 h
  • Cygwin 和 PHPUnit:无法打开输入文件:/cygdrive/c/xampp/php/phpunit

    有没有办法从 Cygwin 运行 PHPUnit 每次我运行 PHPUnit 时都会收到此错误 Could not open input file cygdrive c xampp php phpunit 我正在尝试在我的 Zend Fra
  • Silverlight 4 获取当前用户

    我已经看到这个关于 Silverlight 2 的问题 但我还没有看到任何关于 Silverlight 4 的问题 有没有办法让当前用户在 Silverlight 4 0 中运行应用程序 我想我记得看到过这是 4 0 的功能之一 但我找不到
  • Scala 相当于 java.util.Scanner

    我非常熟悉使用java util Scanner with next hasNext nextInt nextLine 等来解析输入 我还应该在 Scala 中使用其他东西吗 这些数据不是按照语法构建的 而是按照语法构建的 它比那更临时 例
  • AsciiDoc 在列表块内添加粗体文本

    有一些 AsciiDoc 有一个类似的块 this is a test with some formatted tabbed text in it blah 我希望文本显示为 this is a test with some formatt
  • 如何从windbg中的函数获取返回值?

    我正在尝试调试一些 win32API 例如返回句柄的 Createthread 如何获取windbg的返回值 我做了一些研究 发现返回值通常存储在 EAx 寄存器中 如果我在 CreateThread 上放置断点 那么我可以单步执行 Cre
  • Java 7 Kerberos 问题 - AES128 校验和损坏

    我正在从 Java 6 迁移到 Java 7 并且遇到了 Kerberos 身份验证问题 在我看来 底层加密类型顺序已被切换 因此使用了不同的加密类型 在这种情况下Aes128CtsHmacSha1EType当 Java 7 运行时 将用于