为什么Java的同时拥有的cacerts和jssecacerts文件?

我在的cacerts和jssecacerts文件之间的差异严重混乱。

我知道,在默认情况下的Java查找jssecacerts文件,然后将cacerts文件。

但是,什么是jssecacerts文件的呢?

我的理解是,如果一个新的信任需要被继续使用应cacerts中的副本,全新的信任的CA应该被添加到该副本。 cacerts中的复印件(新会计准则),应该再由-Djavax.net.ssl​​.trustStore系统属性引用。 那这台机器上运行方式与其他Java应用程序将不会意外地信任非默认的CA。

--------------解决方案-------------

从Java安全套接字扩展(JSSE)参考指南,使用的TrustManagerFactory以下步骤,试图找到信任材料:

  1. 系统属性javax.net.ssl​​.trustStore
  2. Java的家/ lib / security中/ jssecacerts
  3. Java的家/ lib / security中/ cacerts中(默认情况下发货)

我认为这是基于约定优于配置的概念。 无需额外的编码工作,CACERT将被使用。 对于额外的私有CA /签名证书,开发者或者可以使用第一或第二种方式,其中前者可能只包含一个特定的证书,但后来包含证书的列表。

好问题。 我认为这源于历史事实JSSE曾经是一个附加的。 JSSE确实允许多个供应商,所以也许jssecacerts只是针对JSSE供应商,和其他供应商可能会使用他们自己的。

但是,谁之前,JSSE使用cacerts的是另一个问题。

据我了解,cacerts文件是默认出厂之一。

如果有一个jssecacerts文件,它是专门用于 - 不除了cacerts文件。

我的建议:保持cacerts文件,复制到jssecacerts,并添加所需的文件jssecacerts任何私有CA /签名证书。

分类:java的 时间:2012-01-01 人气:6
本文关键词: java的,SSL,JSSE,信任
分享到:

相关文章

  • 可以读/写可以在Java中的JSSE基于SSL插槽平行进行的? 2013-09-25

    的SSL,最常用的"C"执行(OpenSSL的)不支持平行操作上它的SSL会话. 同一会话(即你不能做一个SSL_read&SSL_write)平行. 是否在Java基础SSL,JSSE支持这种功能? 即对于同样的SSL会话使用JSSE创建的,可我不读,在不同的线程写平行? 如果是的话,是否还可以处理无缝地重新谈判(例如,如果重新协商请求从对方收到,是否会被如何处理?) 一直以来,我都很少或不知道的Java,我还有一个非常基本的问题还,是否有可能做的读/写平行从不同的线程在同一

  • Java和SSL证书 2012-05-05

    我试图建立在Java中使用安全套接字层(HTTPS)我的PHP脚本的连接,但我发现,要确保最大信号的安全性/有效性我要导入我的网站使用到我的应用程序的SSL证书......事情我不知道该怎么办. 如果有帮助,我的SSL证书不是自签名的,由startssl如果提供,而和我使用的Eclipse IDE中. 有谁请至少指向我朝着正确的方向? 即做哪些文件,我需要,我应该将它们导入?我需要在Java中什么代码,等等? 提前致谢 --------------解决方案------------- 我发现,要确

  • weblogic的SSL自定义信任 2012-06-09

    难道WebLogic使用自定义的SSL套接字实现? 我正在与JavaMail的一个问题. 试图用一个SMTP SSL连接失败,即使我设置一个自定义的信任与邮件服务器约 但是,如果我设置javax.net.ssl​​.trustStore中属性以使用信任与邮件服务器CA一切正常. 这让我觉得,WebLogic使用其定制插座或插座自定义配置. 虽然JavaMail的依赖于标准的机制,并不会顾及什么是在WebLogic定制信任. 有任何想法吗? --------------解决方案----------

  • 为什么我得到一个握手失败(Java的SSL) 2013-01-08

    我连接到通过HTTPS Web服务. 我已经做了所有我认为需要,使其工作,但最终我得到一个握手失败. 我发现,作为一个新的用户我不能发布超过2链接由于"垃圾邮件防护" - 感谢名单了很多计算器......反正这里有一个链接到一个引擎收录后与阐述的所有链接...所以,当我写的"链接#1"这里的这些链接的引用:http://pastebin.com/y4zGNRC7 我使用的HttpClient(GET对服务URL)和实际调用通过CXF代理Web服务验证了相同的行为 我

  • 如何禁用Java的SSL反向DNS查询 2014-09-22

    我在开发一台服务器,并连接到它的几个开发商. 该服务器采用Java的TLS实现使用SSLEngine 我们看到,首先,每一个新的连接将有一个较长时间的延迟(30-40秒). 我们把范围缩小到反向DNS查找超时. 我们解决了通过把我们所有的IP地址中的HOSTS文件. 现在的问题是,我们要逐步扩大我们的用户群,我不想要编辑的HOSTS文件,特别是因为我们无法保证他们将有静态IP地址. 有没有什么办法来禁用Java的SSL / TLS反向DNS查找步骤? 我想有这样的一个配置参数,这样我们就可以在开

  • java.net.ssl​​.sslexception:来的时候推出Android应用 2014-10-02

    有一个奇怪的问题是当我运行我的Andr​​oid应用程序. 的java.net.ssl​​.sslexception发生有一个例外. 但在iPhone不其成功运行创造iphone的问题. 请找一些解决方案,以解决Android的这个问题. 黑莓相同的应用程序也将出现同样的问题. 请找一些解决方案. 感谢名单提前.

  • 是否有可能获得Java的忽略了“信任存储”,只是接受任何SSL证书它得到? 2013-03-07

    我试图写一个使用javax.mail API发送邮件的SSL客户端. 我遇到的问题是,我使用SSL,但服务器还配置了非标准SSL证书的服务器请求. 该网页我发现说我需要将证书安装到信任存储. 我并不想这样做(我没有必要的权限.) 有没有办法让Java来忽略证书错误并接受它? 做不到这一点,是有办法有信任存储在本地的我的程序,而不是安装的​​整个JVM? --------------解决方案------------- 您需要创建一个假的TrustManager接受所有证书,并将其注册为经理. 事情

  • Java的Webstart的信任库SSL 2014-04-01

    需要一些指导. 我对Java Webstart的应用程序,我希望它通过SSL.just连接到服务器添加一个属性,如:System.setProperty("javax.net.ssl​​.trustStore中","my.keystore");但由于一个JAWS程序从服务器下载没有工作,没有对本地文件系统my.keystore. 于是决定将证书分发给所有clients.I做了以下和它的工作. 阅读此信任存储作为流(使用的getResourceAsStream方法).

  • Java的SSL信任库设置 2013-03-09

    在一个应用中我使用SSL通过三种不同的连接. 其中两人已签署的证书,但有我与验证: System.setProperty("javax.net.ssl.trustStore","F:\\eclipse\\terefere\\testkeystore"); System.setProperty("javax.net.ssl.trustStorePassword","123456"); 问题是 - 如何在连接结束摆脱这些设置,以便

  • Java的SSL / TLS客户端连接到&使用它在运行时加载的自签名证书验证服务器? 2012-02-25

    搜索互联网已被证明过于复杂,针对此问题. 也许你可以点我在正确的方向? 我设置了一个SSL / TLS服务器(而不是HTTPS)使用自签名证书. 我已经成功地连接到它,并使用Node.js的测试 var sock = tls.connect({ host:'127.0.0.1', port:443, servername:'foobar', ca: fs.readFileSync('foobar-cert.pem') }, function () { if(sock.authorized) co

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.730 (s). 10 q(s)