- 浏览: 116703 次
- 来自: ...
最新评论
-
calljunny:
多谢多谢!弄了两天,找了两天了,总算在楼主这里找到真正的问题了 ...
有关SSL的问题 -
xiaolv:
String indexDir = "d:\\Tem ...
Lucene使用指南 -
linchixiong:
学习了,最近做一个练习时发现了会响应两次,现在终于知道为什么了 ...
ListSelectionListener,鼠标选中,键盘选中 -
t8500071:
神贴啊~~刚好遇到用bat执行代码时连接sqlserver出现 ...
有关SSL的问题 -
fangfan:
Jony HWong你好,我正在试验这段程序,这段程序有一个地 ...
java实现Windows资源管理器(JExplorer)
使用HttpClient中有关SSL的问题(一)2008-09-02 11:12
最近写的代码涉及到用HttpClient通过SSL读取XML文件,我的编程环境是Windows XP,IDE是Eclipse,JDK1.5,当我完成这个项目,打包成jar包发布时,我用一个批处理文件启动jar包中的一个主程序,并且正确设置了classpath(引用其他jar包),却发现出现了异常,
11:20:13,075 INFO HttpMethodDirector:439 - I/O exception (javax.net.ssl.SSLKeyException) caught when processing request: RSA premaster secret error
11:20:13,075 INFO HttpMethodDirector:445 - Retrying request
11:20:13,200 INFO HttpMethodDirector:439 - I/O exception (javax.net.ssl.SSLKeyException) caught when processing request: RSA premaster secret error
11:20:13,200 INFO HttpMethodDirector:445 - Retrying request
11:20:13,310 INFO HttpMethodDirector:439 - I/O exception (javax.net.ssl.SSLKeyException) caught when processing request: RSA premaster secret error
11:20:13,310 INFO HttpMethodDirector:445 - Retrying request
javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:86)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:515)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:877)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1089)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:618)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
......
......
Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
at javax.crypto.Cipher.getInstance(DashoA12275)
at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(JsseJce.java:90)
at com.sun.net.ssl.internal.ssl.RSACipher.<init>(RSACipher.java:35)
at com.sun.net.ssl.internal.ssl.RSACipher.getInstance(RSACipher.java:69)
at com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:82)
... 23 more
我可以保证我在Eclipse中添加的类库全在classpath下,但是我在Eclipse下开发时它能正常工作,而脱离了Eclipse就无法运行,之前我寻找了各种
方法都不奏效,原因只在于Eclipse:在用Eclipse创建一个新的Java应用程序时,Eclipse会在build path添加$JAVA_HOME/jre/lib/ext目录下的四个jar:dnsns.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar。如果你也遇到同样的问题,现在你该明白怎么做了:将这四个包放在classpath下。
使用HttpClient中有关SSL的问题(二)2008-09-02 11:39
上次是在Windows环境下测试,这次要正式部署到Solaris平台,现在问题又出现,同样Java给出异常(我都习惯了):
Caused by: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid
certification path to requested target
[java] at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
[java] at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
[java] at sun.security.validator.Validator.validate(Validator.java:218)
[java] at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
[java] at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
[java] at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
[java] at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
[java] ... 10 more
[java] Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
[java] at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
[java] at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
[java] at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
[java] ... 16 more
解决方法:在浏览器下通过浏览器导出该站点的证书文件,后缀名一般是.cer,用java keytool工具将该证书导入到$JAVA_HOME/jre/lib/security/jssecacerts,它是一个keystore,命令行:keytool -import -alias "my server cert" -file server.cer -keystore $JAVA_HOME/jre/lib/security/jssecacerts,这样就OK了。
最近写的代码涉及到用HttpClient通过SSL读取XML文件,我的编程环境是Windows XP,IDE是Eclipse,JDK1.5,当我完成这个项目,打包成jar包发布时,我用一个批处理文件启动jar包中的一个主程序,并且正确设置了classpath(引用其他jar包),却发现出现了异常,
11:20:13,075 INFO HttpMethodDirector:439 - I/O exception (javax.net.ssl.SSLKeyException) caught when processing request: RSA premaster secret error
11:20:13,075 INFO HttpMethodDirector:445 - Retrying request
11:20:13,200 INFO HttpMethodDirector:439 - I/O exception (javax.net.ssl.SSLKeyException) caught when processing request: RSA premaster secret error
11:20:13,200 INFO HttpMethodDirector:445 - Retrying request
11:20:13,310 INFO HttpMethodDirector:439 - I/O exception (javax.net.ssl.SSLKeyException) caught when processing request: RSA premaster secret error
11:20:13,310 INFO HttpMethodDirector:445 - Retrying request
javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:86)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:515)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:877)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1089)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:618)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
......
......
Caused by: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS1Padding
at javax.crypto.Cipher.getInstance(DashoA12275)
at com.sun.net.ssl.internal.ssl.JsseJce.getCipher(JsseJce.java:90)
at com.sun.net.ssl.internal.ssl.RSACipher.<init>(RSACipher.java:35)
at com.sun.net.ssl.internal.ssl.RSACipher.getInstance(RSACipher.java:69)
at com.sun.net.ssl.internal.ssl.PreMasterSecret.<init>(PreMasterSecret.java:82)
... 23 more
我可以保证我在Eclipse中添加的类库全在classpath下,但是我在Eclipse下开发时它能正常工作,而脱离了Eclipse就无法运行,之前我寻找了各种
方法都不奏效,原因只在于Eclipse:在用Eclipse创建一个新的Java应用程序时,Eclipse会在build path添加$JAVA_HOME/jre/lib/ext目录下的四个jar:dnsns.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar。如果你也遇到同样的问题,现在你该明白怎么做了:将这四个包放在classpath下。
使用HttpClient中有关SSL的问题(二)2008-09-02 11:39
上次是在Windows环境下测试,这次要正式部署到Solaris平台,现在问题又出现,同样Java给出异常(我都习惯了):
Caused by: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid
certification path to requested target
[java] at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:285)
[java] at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191)
[java] at sun.security.validator.Validator.validate(Validator.java:218)
[java] at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)
[java] at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)
[java] at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)
[java] at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:954)
[java] ... 10 more
[java] Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
[java] at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
[java] at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
[java] at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280)
[java] ... 16 more
解决方法:在浏览器下通过浏览器导出该站点的证书文件,后缀名一般是.cer,用java keytool工具将该证书导入到$JAVA_HOME/jre/lib/security/jssecacerts,它是一个keystore,命令行:keytool -import -alias "my server cert" -file server.cer -keystore $JAVA_HOME/jre/lib/security/jssecacerts,这样就OK了。
评论
2 楼
calljunny
2015-07-14
多谢多谢!弄了两天,找了两天了,总算在楼主这里找到真正的问题了!添加进来了之后,就好了。万分感谢!
1 楼
t8500071
2010-10-19
神贴啊~~刚好遇到用bat执行代码时连接sqlserver出现ssl的问题,多亏楼主~~膜拜!!!!!
发表评论
-
【jira3.6破解版】界面中文乱码问题解决办法
2012-03-23 17:30 3125原因: jira3.6版本默认的界面字符编码为big5。 ... -
Extjs实现快捷键CTRL+TAB对Tabpanel进行Tab切换
2012-03-16 17:24 4035// 注册ctrl+tab组合键到keymap ... -
Lucene使用指南
2011-12-09 15:20 4901Lucene使用指南 Lu ... -
memcache及其telnet命令使用详解
2011-09-19 11:34 299151、启动Memcache 常用参数memcached 1. ... -
java序列化的一点经验
2011-08-12 22:07 4296java序列化的一点经验 半年多一来,一直碰到一个问题没有解决 ... -
Jad.exe反编译工具和jad eclipse插件
2011-01-26 16:19 3635配置jad插件 直接将net.sf.jadclipse_3 ... -
smartcare各类文档
2010-09-18 21:41 0smartcare各类文档 -
Sock Demo
2010-08-23 00:40 0Sock Demo -
实时监控方案分析
2010-08-10 02:05 0实时监控方案分析 -
数据库连接池-C3P0配置
2010-08-03 00:43 4236>>转自:http://hi.baidu.com/ ... -
Linux自动化分区
2010-07-31 22:35 0#!/bin/bash disk='/dev/hdc' e ... -
JVM调优
2010-07-19 01:06 1148JVM调优 -
LVS集群
2010-07-16 00:57 1017LVS集群 -
Application Layer Gateway Service 和 FTP
2010-05-17 22:41 1819Application Layer Gateway Servi ... -
FTP - RFC959 中文版
2010-05-14 00:02 4529转自:http://www.chinaitpower.com/ ... -
网络地址转换NAT
2010-05-13 23:57 2518网络地址转换(NAT,Network Address Tran ... -
Firewall rules for FTP+SSL Explicit
2010-05-10 01:14 1338Firewall rules for FTP+SSL Expl ... -
ftp与防火墙
2010-05-10 00:54 2625下面是针对ftp与防火墙的: 原文在 https://bbs ... -
区分网上邻居
2010-03-11 01:12 942ShellFolder.get("fileChoos ... -
论FTP的主动被动和相关的防火墙设置
2009-09-08 00:32 3070FTP 分为两类: 主动FTP( ...
相关推荐
首先,找到Python的源代码,通常位于`/src/Python-X.Y.Z/`目录下,然后打开`Modules/Setup`文件,找到与SSL相关的部分并根据你的系统配置进行修改。例如,添加SSL路径,并确保SSL模块被启用。 ```bash SSL=/path/...
对于“mod_ssl_etc”这个文件名,这可能是指 Apache 的 SSL 相关配置文件,通常包括 `ssl.conf` 和证书/密钥文件。你需要检查这些文件是否配置正确,例如,私钥和证书路径、虚拟主机的 SSL 设置等。 总结,解决...
在Linux-CentOS环境下,Python 3.8的编译与安装是一个常见但有时又具有挑战性的任务,尤其是在处理SSL(Secure Sockets Layer)相关问题时。Python的SSL模块是其标准库的一部分,用于实现安全的网络通信,如HTTPS...
而`bssl.exe`则作为一个独立工具,用于调试或验证SSL/TLS相关的配置和证书问题。 总结来说,这个`boringssl win-x86_64`包为Windows 64位环境提供了BoringSSL的核心组件,包括用于命令行操作的`bssl.exe`,以及用于...
* 确保 SSL/TLS 协议的版本正确,避免出现版本不匹配的问题。 * 确保应用程序的配置正确,避免出现配置错误的问题。 通过遵循这些步骤和注意事项,可以成功解决 openjdk 遇到的 HTTPS 的 SSL 异常问题,确保应用...
### Win7配置Tomcat6与SSL问题及解决方案 在配置Windows 7系统下的Apache Tomcat 6服务器并启用SSL加密时,遇到了一些常见问题。本文将详细介绍这些问题的具体表现、原因分析以及相应的解决策略。 #### 一、Win7 ...
在使用老版本的HTTP客户端库,如`commhttpclent3`(可能是Apache HttpClient 3.x版本的一个误写)时,可能会遇到SSL(Secure Sockets Layer)相关的错误。这些错误通常与证书验证、信任管理或协议支持有关。下面我们...
随着SSL 3.0协议中一些问题的逐渐显现,Netscape及其他贡献者对协议进行了重大改进,并将其重新命名为TLS(Transport Layer Security,传输层安全)1.0。 - **名称变化的意义**:“Transport Layer Security”相较于...
1. SSL证书:这是SSL安全性的核心,包含服务器的公钥和相关身份信息,由权威的证书颁发机构(CA)签署。用户浏览器和服务器之间建立连接时,服务器会提供SSL证书,浏览器验证其有效性。 2. 握手过程:SSL连接的建立...
3. 错误处理:模块中通常会有丰富的错误处理机制,以便在遇到问题时能够及时反馈并处理。 四、应用示例 在易语言中,使用SSL_Socket通信模块,可以创建安全的FTP服务器、HTTPS网站,或者实现安全的聊天应用程序等...
对比现有的`httpd.conf`,找到与SSL相关的部分,如`VirtualHost`、`SSLCertificateFile`、`SSLCertificateKeyFile`等指令,将它们合并到现有的配置文件中。 4. **配置虚拟主机**:在`httpd.conf`中,你可能需要创建...
首先,SSL通信的主要目的是为了解决网络上的数据传输安全问题,它通过加密技术确保数据在传输过程中不被窃取或篡改。SSL协议包含握手协议、记录协议、密钥交换协议等多个子协议,其中握手协议用于建立安全连接,记录...
// sslProperties包含SSL相关的配置 client.connect(options); ``` `sslProperties`应包含如`ssl.protocol`、`ssl.provider`等属性以指定SSL协议和提供商。 5. **测试和调试**:连接后,你应该能够发送和接收消息...
在接入此接口时,可能会遇到SSL问题,这通常是由于服务器证书配置不当或者SSL库版本不兼容导致的。 解决腾讯云短信接口SSL问题源码可能包含以下关键步骤: 1. **检查SSL证书**:确保服务器配置了有效的SSL证书,...
然而,Supermicro并不承担由于文档中可能存在的不准确性而导致的责任,并且没有义务更新或保持文档的最新性,也不必通知任何有关方面进行更新。 #### 二、产品特性与变动声明 在手册的这一部分中,Supermicro保留...
Python作为一款广泛使用的编程语言,提供了丰富的库来处理SSL/TLS相关的任务。在本篇中,我们将深入探讨“Python-ssllogger”这个工具,它能够帮助我们解密并记录进程的SSL流量,这对于进行网络安全分析、调试或者...
配置Indy 9的SSL功能,首先要在你的项目中引入Indy相关的单元,如IndyCore, IndySystem, IndyProtocols和IndySSL。然后,对于服务器端,你需要实例化TIdServerComponent,并在其上添加TIdTCPServer组件,接着添加...
这些问题可以参考相关的技术链接进行修复。 另一个要介绍的内容是安全签章的安装。沃通电子认证服务有限公司提供的安全签章目前只支持OV(组织验证)级以上证书使用。安全签章分为中文签章和英文签章两种,可以根据...
以下将详细讲解这个过程及其相关的Java SSL包使用。 首先,了解SSL的工作流程。SSL握手过程通常包括以下步骤: 1. 客户端发送一个“ClientHello”消息,包含所支持的SSL/TLS版本、加密套件和随机数。 2. 服务器回应...