我想用Java获取SSL页面。问题是,我必须针对http代理进行身份验证。所以我想要一个简单的方法来获取这个页面。我尝试了ApacheCommonshttpclient,但它对我的问题来说开销太大。我试过这段代码,但它不包含身份验证操作:importjava.io.*;importjava.net.*;publicclassProxyTest{publicstaticvoidmain(String[]args)throwsClientProtocolException,IOException{URLurl=newURL("https://ssl.site");Sockets=newSo
我目前在一个测试环境中工作,其中服务器具有默认的自签名SSL证书。我正在使用ReSTLet2.1-RC2并像这样实例化客户端资源:Clientclient=newClient(newContext(),Protocol.HTTP);cr=newClientResource(String.format(itql_endpoint,riQuery));cr.setNext(client);并为我调用的每个电话重复使用客户端。如何设置客户端以使其忽略有问题的证书。 最佳答案 正确的方法是将这个自签名证书导入客户端的信任库,例如使用keyt
这不是设计应该发生的事情,但出于安全考虑,我想知道如何将“正确的”证书发送到服务器,假设有多个证书符合由某个人签名的要求加州?我正在使用一个简单的SSLJAVA示例客户端,连接到ApacheHTTPD。我尝试使用4个证书进行测试,每次都删除所选的证书并记录下一个被选中的人。除了证书的“sha256”的字典顺序之外,我找不到合理的逻辑(即日期、别名等)。这对我来说似乎不太可能......示例客户端做类似的事情System.setProperty("javax.net.ssl.keyStore","device.p12");System.setProperty("javax.net.ssl
我正在寻找类似于thisanswer的解决方案,但更安全。我想禁用证书验证,但仅针对单个请求(这就是我所需要的)。所以它应该做以下一项或多项完成一个请求后返回安全状态仅对给定的URL禁用验证(也许)只为一个线程使用不安全的设置附录当我要求更安全的解决方案时,我真的很想知道与原始问题(分数+46)相比,这个问题(分数-2)有什么问题。有人可以解释一下吗?解释我为什么需要这个:有一个有效的服务器证书,通常,它会被使用。但我需要向localhost发送一个请求,它也必须在开发人员机器上运行。它必须是https,因为不支持http。 最佳答案
我在Web应用程序中使用的keystore文件上周已过期。我很久以前就生成了它。所以我开始使用keytool生成新证书。我使用此证书连接交易服务器和网络服务器。我想为此应用程序使用自签名证书。我使用以下命令生成它来为事务服务器生成自签名key。keytool-genkey-keystorekeys/SvrKeyStore-keyalgrsa-validity365-aliasSvr-storepass123456-keypassabcdefg-dname"CN=One1,OU=Development1,O=One,L=Bamba,S=WesternProv1,C=S1"按照commna
我目前正在我的网络应用程序中实现RedditOAuth2登录。握手和token交换在本地测试时工作正常,但在服务器上运行时(托管在“OpenShift”DIY盒式磁带上)我收到以下错误:java.security.InvalidAlgorithmParameterException:Primesizemustbemultipleof64,andcanonlyrangefrom512to1024(inclusive)结果是java.lang.RuntimeException:CouldnotgenerateDHkeypair我一天中的大部分时间都在搜索,并找到了不同的解决方案,从更改Ja
我有一个java服务器试图通过SSL连接到外部Ldap服务器(作为客户端以执行查询)。我在连接时遇到问题,因为他们在连接时发送给我的证书仅在我的本地WindowsTruststore中受信任,但在javatruststore(cacerts)中不存在。有没有办法告诉Java信任任何Windows会信任的证书?或者,有没有一种方法可以将所有受信任的证书从Windows信任库导入到Java的cacerts?任何想法将不胜感激。 最佳答案 解决方案在Windows上,设置以下JVM属性:javax.net.ssl.trustStore=N
我正在构建一个充当XMPP客户端的小程序,我正在使用Smack图书馆。现在,我要连接的服务器需要SSL(在Pidgin中我必须选中“强制旧(端口5223)SSL”)。我无法让Smack连接到此服务器。可能吗? 最佳答案 看看这个线程。http://www.igniterealtime.org/community/thread/37678基本上,您需要将这两行添加到您的代码中:connConfig.setSecurityMode(ConnectionConfiguration.SecurityMode.enabled);connCon
我正在使用java邮件通过smtp发送电子邮件。下面给出的smtp设置:Propertiesprops=newProperties();Objectput=props.put("mail.smtp.host",smtpHost);props.put("mail.smtp.user",smtpUser);props.put("mail.smtp.auth",true);props.put("mail.debug",mailDebug);props.put("mail.smtp.port",port);smtp凭据已通过使用上述详细信息远程登录到我的smtpHost进行了验证。但是,当我在
是否有任何函数可以告诉我我的程序中当前使用的信任库是什么?在Windows上,默认信任库位于JAVA_HOME\lib\security\cacerts。但是,可以通过多种方式更改默认值。在命令行中使用-Djavax.net.ssl.keyStore使用Keystore类。如果程序在运行应用程序的应用服务器上运行,可以通过它的面板设置存储路径。如果程序在Tomcat上运行,则Tomcat设置可能会更改信任库。以及许多其他方式。是否有一种编程方式可以找出当前处于Activity状态的信任库的磁盘路径? 最佳答案 一般来说,你不能(这与