Java不发送客户端证书

2024-02-24

我在 Java 1.7 上使用 HttpClient 4.2.3 连接到 nginx 托管的远程服务器。我的组织广泛使用 PKI,并且远程和客户端都具有由通用 CA 颁发的证书。

服务器有一个如下的签名链:


CN=Server 123, OU=Servers, OU=My Division, O=My Org, C=US
CN=My Division CA, OU=My Division, O=My Org, C=US
CN=My Org CA, O=My Org, C=US  

客户端有一个如下的签名链:


CN=Client 456, OU=Servers, OU=My Division, O=My Org, C=US
CN=My Division CA, OU=My Division, O=My Org, C=US
CN=My Org CA, O=My Org, C=US  

由于某种原因,客户端没有向服务器提供其证书。服务器已正确配置(例如,使用 --cert、--key 和 --cacert 进行卷曲工作)。客户端在密钥存储中拥有其证书、私钥和签名链,在其信任存储中拥有“My Division CA”和“My Org CA”证书(等等)。打开 SSL 调试后,我可以看到密钥存储和信任存储成功加载。客户端可以连接到正确请求证书的其他服务器。但是,当尝试连接到“Server 123”时,我看到类似以下内容:



*** ServerHello, TLSv1
...
** TLS_RSA_WITH_AES_256_CBC_SHA
...
*** Certificate chain
...
***
Found trusted certificate:
...
*** CertificateRequest
Cert Types: RSA, DSS
Cert Authorities:
<CN=My Division CA, OU=My Division, O=My Org, C=US>
<CN=My Org CA, O=My Org, C=US>
<CN=Some Other CA, OU=Some Division, O=My Org, C=US>
...
*** ServerHelloDone
...
*** Certificate chain
***
*** ClientKeyExchange, RSA PreMasterSecret, TLSv1
...
HTTP/1.1 400 Bad Request
...
No required SSL certificate was sent
...  

最令人困惑的部分是具有相同软件的其他客户端提供其证书并且可以正常连接。

我已经正确配置了所有基础设施(据我所知),并且这should工作。我really不想编写和维护自定义 SSL 代码来解决此问题。


None

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

Java不发送客户端证书 的相关文章

  • 将 MouseListener 添加到面板

    我正在尝试将鼠标操作添加到我的面板中 这就是程序应该做的事情 编写一个程序 允许用户通过按三下鼠标来指定一个三角形 第一次按下鼠标后 画一个小点 第二次按下鼠标后 绘制一条连接前两个点的线 第三次按下鼠标后 绘制整个三角形 第四次按下鼠标会
  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 查询 MongoDB 集合中的字段。

    我正在尝试查询 mongodb 集合中的特定字段 这是我的代码和输出 Mongo m new Mongo DB db m getDB mydb DBCollection coll db getCollection student addin
  • 运行 java -jar 时出现 java.lang.ClassNotFoundException

    我正在使用 ant 来构建我的build xml文件 它编译正常 但随后得到运行时java lang NoClassDefFoundError通过 运行生成的 jar 时java jar my jar jar 似乎这个问题出现了很多 但没有
  • 即使在轴上进行自动量程调整,我也可以保留积分刻度线吗?

    我 偷 了一些代码here http fxexperience com 2012 01 curve fitting and styling areachart 拥有一个AreaChart我在 FXML 中使用了 平滑线条 它的工作原理如下
  • 如何在 iOS 上固定证书的公钥

    在提高我们正在开发的 iOS 应用程序的安全性时 我们发现需要对服务器的 SSL 证书 全部或部分 进行 PIN 操作以防止中间人攻击 尽管有多种方法可以做到这一点 但当您搜索此内容时 我只找到了固定整个证书的示例 这种做法会带来一个问题
  • 无法在 Java 中输出正确的哈希值。怎么了?

    在我的 Android 应用程序中 我有一个 SHA256 哈希值 我必须使用 RIPEMD160 消息摘要算法进一步对其进行哈希值 我可以输出任何字符串的正确 sha256 和ripemd160 哈希值 但是当我尝试使用ripemd160
  • 在grails控制器中识别ajax请求或浏览器请求

    我正在开发一个使用大量ajax的grails应用程序 如果请求是ajax调用 那么它应该给出响应 这部分正在工作 但是如果我在浏览器中输入URL 它应该带我到主页 索引页面而不是请求的页面 下面是ajax调用的示例gsp代码
  • java setFullScreenWindow 在 Mac 中隐藏登录对话框

    我使用的是全屏窗口 类似于屏幕保护程序 使用这里的方法 GraphicsEnvironment getLocalGraphicsEnvironment getDefaultScreenDevice setFullScreenWindow t
  • 嵌套字段的 Comparator.comparing(...)

    假设我有一个这样的域模型 class Lecture Course course getters class Course Teacher teacher int studentSize getters class Teacher int
  • Java 中 JButton 的击键/热键

    最初我使用 JMenu 并建立热键以使用加速器工作 它运行得很好 现在我想在 JButton 中实现相同的行为 但我陷入困境 这是我编写的代码 请分享您的想法 以便我可以走上正确的道路 import javax swing import j
  • 使用单独的线程在java中读取和写入文件

    我创建了两个线程并修改了 run 函数 以便一个线程读取一行 另一个线程将同一行写入新文件 这种情况会发生直到整个文件被复制为止 我遇到的问题是 即使我使用变量来控制线程一一执行 但线程的执行仍然不均匀 即一个线程执行多次 然后控制权转移
  • 如何制作一个makefile只用于编译一些java文件?

    我有三个java文件 名为A java B java C java A将创建对象B B将创建对象C 但我以前从未构建过makefile 有谁可以帮我构建一个 makefile 来编译这三个 java 文件吗 我应该使用什么工具来制作 mak
  • 让我们加密证书颁发

    我正在尝试获取 Let s Encrypt 颁发的证书 已经过去了 3 个半小时 我不小心最初将我的 SecretName 设置为 echo tls 然后将其切换到我想使用的正确的 pandaist tls 我目前有这个 kubectl g
  • 如何从 JavaFX 中的另一个控制器类访问 UI 元素?

    我有一个使用 NetBeans 8 编写的 JavaFX Java 8 应用程序 没有SceneBuilder 我的应用程序有一个主窗口 该窗口有自己的 FXML 文件 primary fxml 和自己的控制器类 FXMLPrimaryCo
  • java.lang.IllegalStateException - 提交响应后无法创建会话

    我在我的项目中使用 JSF PrimeFaces 我为此准备了一个Maven项目 当我编译项目并加载主页后 我收到以下异常 java lang IllegalStateException Cannot create a session af
  • 受信任的 1.5 小程序可以执行系统命令吗?

    如果是的话 这个能力有什么限制吗 具体来说 我需要以 Mac OSX 为目标 我以前用过这个在 Windows 系统上启动东西 但从未在 Mac 上尝试过 public void launchScript String args Strin
  • 为什么java.lang.Cloneable不重写java.lang.Object中的clone()方法?

    Java 规范java lang Cloneable接口将自身定义为表示扩展它的任何对象也实现了clone 休眠的方法java lang Object 具体来说 它说 一个类实现了Cloneable接口来指示java lang Object
  • 决策树和规则引擎 (Drools)

    In the application that I m working on right now I need to periodically check eligibility of tens of thousands of object
  • java中void的作用是什么?

    返回类型 方法返回值的数据类型 如果方法不返回值 则返回 void http download oracle com javase tutorial java javaOO methods html http download oracle

随机推荐

  • Libgdx - 制作下拉菜单/设置屏幕

    我正在寻找制作一个下拉菜单和下拉设置屏幕 但我找不到任何在 Libgdx 中制作这些的资源 想要一些针对这种特定类型的界面的良好资源的指针或一个简单的示例 Thanks 选择框 https github com libgdx libgdx
  • UIImageWriteToSavedPhotosAlbum 保存为错误的尺寸和质量

    我正在尝试拍摄应用程序当前视图的屏幕截图并将其保存到相册 然后通过电子邮件或彩信发送 UIGraphicsBeginImageContext self view bounds size self view layer renderInCon
  • extjs 与 Node.js 后端?

    是否有任何项目 示例 教程等可以展示 ExtJS 与 Node js 作为后端的使用 我正在专门研究多个用户的实时协作 但任何将 ExtJS 和节点结合在一起的东西都会有所帮助 Here http www alsonkemp com gee
  • Elixir 或 Erlang 程序可以编译为独立的二进制文件吗?

    它说 Elixir 有一个工具叫做elixircErlang 有一个工具叫做erlc to 编译模块 http elixir lang org crash course html elixir用来 在此之后 您可以立即运行代码elixir命
  • 检测按下哪个键[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我如何知道
  • 未命中断点 Mono For Android (Monodroid)

    我的 monodroid 应用程序构建并运行良好 但未命中断点 这适用于物理设备和模拟器 我创建了一个新的默认 monodroid 应用程序 它确实遇到了断点 我尝试过重建 重新启动 ADB 和重新启动 我运行的是 VS2010 M4A 版
  • Firebase Google Cloud 从设备到设备的消息传递

    我无法理解如何将消息从 iOS 设备发送到另一台 iOS 设备 并试图了解两者之间的区别 Firebase 通知和 Google Cloud Messaging Firebase 通知假设您可以从服务器向设备发送消息 谷歌云消息 它将消息从
  • ElasticSearch:根据字段长度过滤文档

    我在 SO 上读到了几个类似的问题 并建议解决方案不起作用 我想找到单词短于8的所有字段 我的数据库屏幕 我尝试使用此查询来执行此操作 query match all filter script script doc word length
  • Cordova iOS 6.1.1 白色启动画面

    在我的 Cordova 应用程序中 升级到 cordova ios 6 1 1 后遇到问题 应用程序运行正常 但未显示启动屏幕 只有一个白屏 就像我的闪屏文件被忽略一样 我有这个 config xml 文件
  • 如何处理`已被弃用。在 Java 中已弃用?

    我想使用的代码 window addFlags WindowManager LayoutParams FLAG SHOW WHEN LOCKED 有FLAG SHOW WHEN LOCKED https developer android
  • 关闭 OpenMP

    在我的 C 程序中 我希望有时使用 OpenMP 有时不使用 OpenMP 即多线程或单线程 来运行其可执行文件 我正在考虑以下两种情况中的任何一种 我的代码如何使用 OpenMP 1 假设我的代码只有 include
  • 无法为 jasmine 设置超时

    我已经尝试了所有解决方案这个答案 https stackoverflow com questions 9867601 how do i change the timeout on a jasmine node async spec但他们都不
  • Spring Mvc 中从控制器返回 Hashmap 到 JSP

    我在 Jsp 中有两个下拉列表 一个用于州 另一个用于国家 一旦我选择国家 地区 国家列表就会自动填充相应的列表 但我得到整个 jsp 页面作为 ajax 调用的响应 我的ajax程序 select country change funct
  • 为什么图像没有保存在我的代码中而只是由管理页面保存?

    我需要知道为什么图像不保存在路径中 我从路径中检查 静态根和媒体根似乎都工作良好 但图像未保存 这里是代码 您可以在其中看到发生了什么 notice 该图像工作正常 并已通过管理页面安装 但无法保存或通过我的代码工作 模型 py class
  • Power Query M - 表达式错误 - 列表到文本

    我正在使用 Web Contents 执行 API 请求 我提交了一个从函数获取的动态访问令牌 let Source Json Document Web Contents https api url com endpoint id Head
  • 捕获蓝牙远程快门事件

    我想知道如何 是否可以在 android 中捕获由蓝牙远程快门事件触发的事件 例如这样的一个 http www avancaproducts com en shop other bluetooth camera shutter remote
  • 在 docker 中运行 json-server

    我一直在跑步json 服务器 https github com typicode json server使用以下配置在 docker 容器中成功运行了一段时间 泊坞窗文件 FROM node alpine EXPOSE 3000 COPY
  • 在自定义 UIGestureRecognizer 中实现速度

    我编写了一个自定义 UIGestureRecognizer 它可以用一根手指处理旋转 它的设计工作方式与 Apple 的 UIRotationGestureRecognizer 完全相同 并返回相同的值 现在 我想实现速度 但我无法弄清楚苹
  • 我应该使用 XSD 1.1 来构建开放标准吗?

    我们被要求为开放 XML 标准整合一组模式 XSD 1 0 可以处理大多数规则 但在某些地方会有点混乱 特别是考虑到可扩展性 它还依赖于实现者以注释的形式阅读某些规则的自由文本描述 几乎所有规则都可以使用 XSD 1 1 来实现 但是我们不
  • Java不发送客户端证书

    我在 Java 1 7 上使用 HttpClient 4 2 3 连接到 nginx 托管的远程服务器 我的组织广泛使用 PKI 并且远程和客户端都具有由通用 CA 颁发的证书 服务器有一个如下的签名链 CN Server 123 OU S