Tag: ssl certificate

SSLHandshakeException:没有共同的密码套件

按照此处的说明重新创建我以前错误创建的证书。 有些东西已经改变,因为我现在看到javax.net.ssl.SSLHandshakeException: no cipher suites in common服务器上javax.net.ssl.SSLHandshakeException: no cipher suites in common和javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure在客户端上javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 。 而不是错误这个问题 服务器是ClassFileServer.java和相应的客户端SSLSocketClientWithClientAuth.java 关于让两端发挥得很好的任何提示,请注意我使用的是localhost所以我认为密码function是相同的。 更新: 以下是我用来生成文件的步骤,我可能会混淆密钥和信任库: 在服务器上( 本指南后面): $ keytool -genkey -alias serverkey -keyalg RSA -keypass p@ssw0rd -storepass p@ssw0rd -keystore keystore.jks $ keytool -export -alias serverkey -storepass p@ssw0rd -file server.cer -keystore keystore.jks $ keytool -import […]

SSL IOExceptionjavax.net.ssl.SSLKeyException:RSA premaster secret错误

我们有一个专有软件来运行负载测试。 当我尝试运行该工具时,我在日志中收到以下exception。 我已经没有想法如何解决它。 我看到了大部分的答案,他们让它在运行应用程序时卸载并安装java并在命令行中设置类路径。 我试过这些工作,但仍然没有运气。 Java版本:JDK 1.6.0_24 已经尝试过本论坛中提到的答案, 点击这里 C:\lt>”C:\Program Files\Java\jdk1.6.0_24″\bin\java -Djava.class.path=”C:/lt/lib/base12.jar;C:/lt/lib/cldcapi11.jar;C:/lt/lib/commons-codec-1.3.jar;C:/lt/lib/commons-dbcp-1.1.jar;C:/lt/lib/commons-pool-1.1.jar;C:/lt/lib/com_dexterra_platform_midp_base.jar;C:/lt/lib/incubator-activemq-4.1.jar;C:/lt/lib/jargs.jar;C:/lt/lib/javassist-3.12.0.GA.jar;C:/lt/lib/javax.jms.jar;C:/lt/lib/joda-time-1.6.jar;C:/lt/lib/log4j-extension.jar;C:/lt/lib/log4j.jar;C:/lt/lib/messaging-base12.jar;C:/lt/lib/midpapi20.jar;C:/lt/lib/spring-1.2.6.jar;C:/lt/lib/tstdevice12.jar;C:/lt/lib/wma20.jar;C:/lt/lib/xbean-spring-2.2.jar;C:/lt/lib/lt.jar;C:/lt/lib/test.jar;C:/lt/lib/jsr75.jar””-Dtestclient.cfg.file=lib\TestClientConfig.xml” -DNUM_CLIENTS=2 -DCLIENT_START_ID=0 -DSTART_DELAY=0 -DUSERS_FILE=C:/lt/xmlapitool/bin/newsubscribers.csv-Djava.ext.dirs=lib -classpath “C:\Program Files\Java\jdk1.6.0_24\lib\ext\*” -jar TestDevice.jar -t data -a ConfigurableApp -n -b -d psr -p password -u psr -s KickOff 任何帮助是极大的赞赏! Wed Oct 16 15:59:22 MDT 2013 ERROR [main-tstdevice-0] SSL IOExceptionjavax.net.ssl.SSLKeyException: RSA premaster secret error Terminate client due to exception: […]

使用Java忽略SSL证书错误

Apache Http客户端。 您可以在此处查看相关代码: String url = “https://path/to/url/service”; HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); // Test whether to ignore cert errors if (ignoreCertErrors){ TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager(){ public X509Certificate[] getAcceptedIssuers(){ return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) {} public void checkServerTrusted(X509Certificate[] certs, String authType) {} } }; […]

以编程方式从PEM获取KeyStore

如何以编程方式从包含证书和私钥的PEM文件中获取KeyStore? 我试图通过HTTPS连接向服务器提供客户端证书。 我已经确认,如果我使用openssl和keytool获取jks文件,我会动态加载客户端证书。 我甚至可以通过动态读取p12(PKCS12)文件来使其工作。 我正在研究使用BouncyCastle的PEMReader类,但我无法解决一些错误。 我正在运行带有-Djavax.net.debug = all选项的Java客户端和带有调试LogLevel的Apache Web服务器。 我不知道该寻找什么。 Apache错误日志表明: … OpenSSL: Write: SSLv3 read client certificate B OpenSSL: Exit: error in SSLv3 read client certificate B Re-negotiation handshake failed: Not accepted by client!? Java客户端程序指示: … main, WRITE: TLSv1 Handshake, length = 48 main, waiting for close_notify or alert: state 3 main, Exception while […]

进行SSL连接时,PKIX路径构建失败

我正在与名为CommWeb的商家帐户集成,我正在向其url发送SSLpost( https://migs.mastercard.com.au/vpcdps )。 当我尝试发送post时,我得到以下exception: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 执行post的代码(我没有写,我们的代码库中已经存在)是: public static HttpResponse sendHttpPostSSL(String url, Map params) throws IOException { PostMethod postMethod = new PostMethod(url); for (Map.Entry entry : params.entrySet()) { postMethod.addParameter(entry.getKey(), StringUtils.Nz(entry.getValue())); } HttpClient client = new HttpClient(); int status = client.executeMethod(postMethod); if (status […]

javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure

我在尝试了两天的许多选项之后发布了这个问题。 以下是我尝试过的选项。 禁用ssl证书validation 通过从浏览器下载crt并转换为.jks并导入密钥库。 我仍然得到这个问题,提前非常感谢任何帮助。 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.Alerts.getSSLException(Alerts.java:154) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1943) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1059) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1321) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1305) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:523) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1296) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) at com.honeywell.sensibo.api.NewMain.main(NewMain.java:73)

HttpClient 4.1的SSL“Peer Not Authenticated”错误

我正在构建一个简单的应用程序监视器来轮询我们的一个API URL并向我们发送电子邮件,如果它无法从响应中获取HTTP 200状态代码(这表明我们的API因某种原因而关闭)。 我正在使用HttpClient 4.1 (这很重要,因为它的API与3.x差别很大 )。 我们的API使用SSL是安全的,但输入: http://example.com/our-api 进入Web浏览器重定向到 https://example.com/our-api 没有造成任何错误。 当HttpClient尝试访问此URL( http://example.com/our-api )时,它会因javax.net.ssl.SSLPeerUnverifiedExceptionexception而失败,并显示一条消息: 同行未经过身份validation 我发现这对其他人来说发生了很多事情,正如这篇文章所certificate的那样(这也提供了一些规避这个问题的方法 – 我今晚将尝试和实施的解决方案)。 这个其他post(和其他类似的post)没有做的是解释为什么这首先发生! 所以,而不是问“我该如何解决这个问题?” 我想我会问“ 为什么会发生这种情况? ”在我提前解决其中一个建议的解决方案之前,我想知道我试图解决的问题是什么;-)

Java和SSL证书

我正在尝试使用安全套接字层(HTTPS)与我的PHP脚本建立连接,但我发现为了确保最高的安全性/有效性,我必须将我的网站使用的SSL证书导入到我的应用程序中……我不知道该怎么办的东西。 如果有帮助,我的SSL证书不是自签名的,而是由StartSSL提供的并且我使用的是Eclipse IDE。 有人能指出我正确的方向吗? 即我需要哪些文件,我应该在哪里导入它们以及我在Java中需要哪些代码等?

Java:通过资源加载SSL密钥库

如果我有: System.setProperty(“javax.net.ssl.keyStore”, ‘/etc/certificates/fdms/WS1001237590._.1.ks’); System.setProperty(“javax.net.ssl.keyStorePassword”, ‘DV8u4xRVDq’); System.setProperty(“sun.security.ssl.allowUnsafeRenegotiation”, “true”); 我能够毫无问题地打开安全连接。 但是,我想将证书直接存储在战争中,所以我使用:(文件输入流最终将成为资源流,但我这样做是为了让它工作。) System.setProperty(“sun.security.ssl.allowUnsafeRenegotiation”, “true”); KeyStore ks = KeyStore.getInstance(“JKS”); ks.load(new FileInputStream(“/etc/certificates/fdms/WS1001237590._.1.ks”), “DV8u4xRVDq”.toCharArray()); KeyManagerFactory kmf = KeyManagerFactory.getInstance(“SunX509”); kmf.init(ks, “DV8u4xRVDq”.toCharArray()); SSLContext sc = SSLContext.getInstance(“TLS”); sc.init(kmf.getKeyManagers(), null, null); 现在,如果我打开相同的连接,我得到: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

javax.net.ssl.SSLPeerUnverifiedException:主机名与对等方提供的证书主题不匹配

我在stackoverflow上关注了许多链接并尝试了许多解决方案,但它们都没有为我工作。 我正在使用WSO2 API manager 1.9.1版。 我正面临以下错误: Exception in thread “main” javax.net.ssl.SSLPeerUnverifiedException: Host name ‘XXXXXXXXX’ does not match the certificate subject provided by the peer (CN=localhost, O=WSO2, L=Mountain View, ST=CA, C=US) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:465) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:395) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) at […]