- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们必须使用 Java 中的 Apache CXF 创建一个 Web 服务客户端。问题是我似乎无法让 SSL session 正常参与。要么完全失败,一旦应用程序数据传输后服务器无法破译发送给它的内容,要么我无法读取服务器的响应。
然而,当使用内置于 .NET 中的简单 soap 测试客户端尝试相同的事务时,一切运行顺利。
服务器正在使用双重身份验证。
一切都是基于证书 (x509) 存储在 windows 证书存储区(windows-MY 和 windows-ROOT)
编辑是的,双重身份验证确实是客户端和服务器身份验证。
到目前为止,使用 bountyCaSTLe 提供程序而不是 SunMSCAPI 似乎更进一步,但仍然无法使客户端身份验证工作。
客户端平台CXF 2.2.9,Sun JDK 1.6_21服务器 IIS 6 ASP.NET 不幸的是我只能收集到,我无法控制服务器并且必须按原样使用它。
làm mới我现在正在使用 JKS keystore ,但仍然遇到问题。作为身份验证过程的一部分,客户端似乎没有将他的证书发送到服务器。结果我从服务器收到 403.7 错误。
有趣的是,我收到的这个错误消息是一个 HTML 页面,必须先解密才能读取!
1 Câu trả lời
据推测,通过双重身份验证,您的意思是除了服务器证书身份验证(更常见)之外,您还使用客户端证书身份验证。
了解双方使用的平台版本以及应用了哪些补丁会很有用。
部分问题可能来自对 CVE-2009-3555 的重新协商修复(或缺乏修复)。
问题是 TLS 中重新协商的初始设计中的一个缺陷,它用于重新协商客户端证书。有两种获取客户端证书的方法:服务器在初始 TLS 握手期间请求它,或者在随后的握手期间请求它(例如,一旦它弄清楚请求的目的和/或当试图访问某个限制区域时)。第二种方法是重新协商。不幸的是,在这方面 TLS 协议(protocol)的设计存在安全缺陷,由于 RFC 5746 中描述的 TLS 扩展,该缺陷已被修复。 .
当该缺陷最初被披露时(大约在 2009 年 11 月),一些平台和库(例如 Sun Java 或 OpenSSL)推出了一个快速修复,它只是不允许任何重新协商(因此只有客户端证书的初始协商有效) .后来,一旦编写了 RFC 5746,这些库就开始推出支持此扩展的实现。
据我所知,Microsoft 在 IIS 及其 Web 框架中的默认设置是使用重新协商而不是初始协商。此外,它没有推出禁用重新协商的初始修复(有效保留已知漏洞)。它最近才推出了一个补丁(默认情况下仍然容忍旧的实现):Microsoft Security Bulletin MS10-049 - Critical .
这个微软安全博客上也有对问题的解释: http://blogs.technet.com/b/srd/archive/2010/08/10/ms10-049-an-inside-look-at-cve-2009-3555-the-tls-renegotiation-vulnerability.aspx
从本质上讲,如果您尝试与仅支持旧协商样式的服务器从仅具有新的重新协商样式或根本没有重新协商的堆栈进行通信,那是行不通的。
如果您的服务器正在使用 IIS 或类似环境运行,您可以使用 netsh
及其 clientcertnegotiation=enable
选项打开初始客户端证书协商。
关于java - 什么会导致 SSL 协商在 .NET 下成功但在 Java 下失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576806/
问题 调用 InitializeSecurityContext 时,我应将什么值传递给TargetName参数? 修改后的背景 我正在调用 InitializeSecurityContext 函数:
尝试让信号器启动并运行。我不断从服务器返回 2 个错误: GET negotiate url 返回 500 内部服务器错误 XMLHttpRequest 无法加载 http://localhost:1
我使用的是 Windows XP Pro SP3。我想在我的代码中使用 SSPI 函数。我编译了我的代码,没有错误。 我将安全包设置为用于协商,这是推荐的。 当我启动我的程序时,Negotiate 无
我正在尝试使用 C++ 和 QT 作为 GUI 来实现 Telnet 客户端。我不知道如何处理 telnet 协商。每个 telnet 命令都以 IAC 开头,例如 IAC WILL SUPPRESS
我正在使用 SignalR 2.0。在我的 VS 2012 上本地运行时一切正常。但是当我在 IIS 上发布站点时,它会中断。该站点已加载,但其中一个脚本返回 404 Not Found。脚本有点像。
我在 MS Azure 上配置了一个实例,并为域实现了 SSL 证书。当我测试性能(在 3G 上)时,我注意到 SSL 协商同时发生在两个请求上,这(不必要地)延长了过程并导致 0.6 秒的时间完成。
我有以下问题。 操作系统:CentOS 6.6 PHP:5.5 Curl: 7.43 编译 当我执行“curl -V”时,我得到以下信息: curl 7.43.0 (x86_64-unknown-li
有一个私有(private)网络服务器(支持 https),我需要经常在上面读取/设置一些信息。我做了一些java代码来自动完成。当我使用 Chrome 访问它时,第一次连接很慢(可能 5 秒),但持
我使用的是 IIS7,我们所有的文件都是通过 HTTPS 提供的。在查看瀑布 View (WebPageTest) 时,我注意到对每个文件进行 SSL 协商需要一些时间。有没有一种方法可以配置服务器或
我有一个简单的 SMTP 客户端,我正在尝试向其添加 TLS 支持。我不确定客户端发出“STARTTLS”命令后会发生什么。大多数来源(包括 RFC 本身)将其描述为 TLS session 的协商,
我一直在尝试在 IIS 托管的网站中使用 service worker 来缓存站点的一些静态内容。该站点是使用 Windows 身份验证的内部应用程序。我已经能够在没有太多麻烦的情况下注册和运行 se
我开始修补 Azure SignalR,并遇到了协商触发器问题。我关注了this微软官方指南: 这是我的代码: 本地.settings.json { "IsEncrypted": false,
Index.cshtml @{ ViewBag.Title = "Index"; } $(function () { var connection = $.connection('
Index.cshtml @{ ViewBag.Title = "Index"; } $(function () { var connection = $.connection('
我正在使用 openssl 正常连接到 SMTP 服务器(未加密),发送 STARTTLS 命令,协商 SSL 加密,然后与加密 session 交互。 这是我正在使用的命令(通过 telnet):
我正在为 iOS 进行 unix 服务器 ssh 模拟。在谈判过程中,我遇到了很多障碍,并且仍在与这些障碍作斗争。最新的一个是关于 SSH2_MSG_KEX_DH_GEX_REPLY 数据包数据,我在
我们有两个连接(作为 .NET/Windows 客户端)到 IBM MQ 端点(假设是非 Windows)。 我们使用 SSL,它由一对证书(客户端和服务器)支持并在 Windows 证书存储中正确标
我读到 ejabberd 建议使用 STARTTLS 协商来实现通信实体之间的安全连接。当我安装 ejabberd 时,默认情况下它带有 TLS 证书。 那为什么要买证书安装呢?既然我们有默认证书,从
您好,我正在尝试使用 JAVA 和 spring 设置 SSO。为此,我正在使用此文档:http://docs.spring.io/spring-security-kerberos/docs/1.0.
从阅读 Microsoft docs在使用 SignalR 进行身份验证时,使用不记名 token 进行身份验证的唯一方法似乎是将其发送到 WebSocket 连接上的查询字符串中。 在检查 Sign
Tôi là một lập trình viên xuất sắc, rất giỏi!