jjzjj

java - 如何使用多个信任源初始化 TrustManagerFactory?

我的应用程序有一个个人keystore,其中包含用于本地网络的受信任的自签名证书-比如mykeystore.jks。我希望能够使用本地提供的自签名证书连接到公共(public)站点(比如google.com)以及本地网络中的站点。这里的问题是,当我连接到https://google.com时,路径构建失败,因为设置我自己的keystore覆盖了包含与JRE捆绑的根CA的默认keystore,报告异常sun.security.validator.ValidatorException:PKIXpathbuildingfailed:sun.security.provider.certpath

java - 如何配置 TLS 连接以保护它们免受异常攻击 (CVE 2015-0204)?

有关漏洞,请参阅https://freakattack.com/.Mozillawiki有一个页面推荐密码套件:https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations我将如何在Java上下文(SSLContext、提供程序配置、Tomcat连接器等)中应用这些或类似的建议? 最佳答案 从Java7开始,可以通过名为java.security的安全策略文件排除密码套件的使用,该文件位于/lib/security目录中的Java运行时环境下

java - 如何从 RSA Privatekey.pem 文件中获取 java.security.PrivateKey 对象?

我有一个RSA私钥文件(OCkey.pem)。使用java我必须从这个文件中获取私钥。此key是使用以下openssl命令生成的。注意:我无法更改下面这个openssl命令的任何内容。openssl>req-newkeyrsa:1024-sha1-keyoutOCkey.pem-outOCreq.pem-subj"/C=country/L=city/O=OC/OU=myLab/CN=OCserverName/"-configreq.conf证书如下所示。///////////////////////////////////////////////////////////bash-3.0

java - JDK/JRE 源代码与匹配的 JSSE (SSL) 源代码和匹配的可运行 JDK/JRE?

我看过WheretofindJava6JSSE/JCESourceCode?我自己问了这个问题HowtogetJRE/JDKwithmatchingsource?但我的这两个都不够具体,无法得到我真正想要的答案,所以我将尝试一种更具体的问题版本。基本上,我要解决的问题是我希望能够在Windows上使用我的Eclipse调试器并进入JavaSSL类(JSSE)以帮助我调试SSL问题以及了解SSL过程更好。顺便说一句,我熟悉(并使用)javax.net.debug=ssl|all系统属性来获取SSL跟踪,虽然这非常有帮助,但我仍然希望能够逐步完成那些讨厌的代码。所以我认为我特别需要的是:一

javax.net.ssl.SSLException : java. security.InvalidAlgorithmParameterException: trustAnchors 参数必须是非空的

我正在寻找一个每天更新所述文件的XML文件——我遇到的唯一问题是他们使用他们自己的证书(https://..。)我不能使用那个特定的URL,也不能是否有可用的http://...链接。URLurl=newURL("https://...");...Documentdocument=db.parse(url.openStream());此代码在运行我的测试时抛出以下异常:javax.net.ssl.SSLException:java.lang.RuntimeException:Unexpectederror:java.security.InvalidAlgorithmParameterE

java - 如何在使用 HttpsURLConnection 时覆盖 Android 发送到服务器的密码列表?

在TLS协商期间,客户端向服务器发送支持的密码列表,服务器选择一个,然后加密开始。当我使用HttpsURLConnection进行通信时,我想更改由Android发送到服务器的密码列表。我知道我可以在HttpsURLConnection对象上使用setSSLSocketFactory将其设置为使用SSLSocketFactory。当我想更改由SSLSocketFactory返回的SSLSocket使用的trustmanager等时,这很有用。我知道通常可以使用SSLParameters对象编辑此密码套件列表,并使用方法将其传递给SSlsocket或SSLEngine对象他们提供。但是S

java - SSLContext初始化

我正在查看JSSE引用指南,我需要获取SSLContext的实例才能创建SSLEngine,所以我可以将它与Netty一起使用以启用安全性。要获取SSLContext的实例,我使用SSLContext.getInstance()。我看到该方法被多次重写,因此我可以选择要使用的协议(protocol)和安全提供程序。Here,我可以看到可以使用的算法列表。我应该使用哪种算法来实现安全通信?此外,由于可以指定要使用的安全提供程序,我应该使用哪个提供程序?谢谢 最佳答案 正如您在standardnamesdocumentation中看到的

ubuntu - ubuntu 15.10 和 openjdk-8-jdk 中是否缺少 cacerts 文件?

我刚刚安装了Ubuntu15.10及其openjdk-8-jdk(通过apt-get)。现在我丢失了cacerts文件。在通常的位置有一个链接:ls-l/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacertslrwxrwxrwx1rootroot27Oct2201:47/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts->/etc/ssl/certs/java/cacerts但/etc/ssl/certs/java/cacerts中没有任何内容:stat/etc

java - 为什么 iOS 5 无法连接到运行 JDK 1.6 而不是 JDK 1.5 的服务器

我们有一个JavaSocketServer监听SSLSocket(端口443)和一个与之连接的iOS应用程序。在iOS5.1上运行时,当我们将服务器的Java版本从JDK1.5升级到1.6(或1.7)。该应用在iOS6上运行时可以很好地连接到JDK5和6。iOS应用报告错误:-9809=errSSLCrypto。在Java端,我们得到javax.net.ssl.SSLException:Receivedfatalalert:close_notify。在Java服务器端,我们启用了所有可用的密码套件。在客户端,我们已经测试了启用几个不同的套件,尽管我们还没有完成涉及每个单独启用的测试。现

java - 为什么 iOS 5 无法连接到运行 JDK 1.6 而不是 JDK 1.5 的服务器

我们有一个JavaSocketServer监听SSLSocket(端口443)和一个与之连接的iOS应用程序。在iOS5.1上运行时,当我们将服务器的Java版本从JDK1.5升级到1.6(或1.7)。该应用在iOS6上运行时可以很好地连接到JDK5和6。iOS应用报告错误:-9809=errSSLCrypto。在Java端,我们得到javax.net.ssl.SSLException:Receivedfatalalert:close_notify。在Java服务器端,我们启用了所有可用的密码套件。在客户端,我们已经测试了启用几个不同的套件,尽管我们还没有完成涉及每个单独启用的测试。现