使用SSL方式连接LDAP服务器出错

花气袭人 2013-04-25 07:05:52
导入证书后,访问WEB应用,连接LDAP服务器失败。应用部署在WAS6.0上,LDAP服务器是windserver2003,JDK1.4版本。程序已经运行好多年了,只是最近做了迁移,现在就是要测试迁移是否成功。
请各位大侠指点下,谢谢了。
错误栈如下:
[Root exception is java.net.SocketException: Default SSL context init failed: IBMTrustManager: Problem accessing trust store java.io.IOException: Invalid keystore format] :-Msg End
javax.naming.CommunicationException: LDAP服务器IP:636 [Root exception is java.net.SocketException: Default SSL context init failed: IBMTrustManager: Problem accessing trust store java.io.IOException: Invalid keystore format]
at com.sun.jndi.ldap.Connection.<init>(Connection.java:233)
at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:150)
at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1613)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2655)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:190)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:208)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:151)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:81)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:679)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:259)
at javax.naming.InitialContext.init(InitialContext.java:235)
at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:146)
at com.pgs.suid.utility.LDAPManager.getConnection(LDAPManager.java:301)
at com.pgs.suid.dao.LDAPDAO.authenticate(LDAPDAO.java:308)
at com.pgs.suid.dao.UserDAO.authenticate(UserDAO.java:155)
at com.pgs.suid.struts.LoginActionFormBean.validate(LoginActionFormBean.java:238)
at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:282)
at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:455)
at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:265)
at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:262)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1213)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:658)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:526)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3673)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:831)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:133)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:457)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:300)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1560)
Caused by:
java.net.SocketException: Default SSL context init failed: IBMTrustManager: Problem accessing trust store java.io.IOException: Invalid keystore format
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:5)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.sun.jndi.ldap.Connection.createSocket(Connection.java:350)
at com.sun.jndi.ldap.Connection.<init>(Connection.java:220)
... 46 more
...全文
1097 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
花气袭人 2013-05-17
  • 打赏
  • 举报
回复
新的证书下来后试了下还是不行。对方的IT部又重调了下LDAP服务器我再导入就可以了。具体做了什么不知道了,因为这台服务器在大洋彼岸。
  • 打赏
  • 举报
回复
应该是The specified Director truststore file cannot be found. Correct and try again.
花气袭人 2013-04-26
  • 打赏
  • 举报
回复
刚跟对方的IT支持沟通了下,目前怀疑是证书问题,新的证书正在申请。等新的新证书下来了看看能否解决。 希望各位有想法的交流下,谢谢了。
zuxianghuang 2013-04-26
  • 打赏
  • 举报
回复
没遇到过这种,不懂,既然看到了,帮你顶顶
花气袭人 2013-04-26
  • 打赏
  • 举报
回复
是我发帖地方不对吗?
花气袭人 2013-04-26
  • 打赏
  • 举报
回复
引用 4 楼 fangmingshijie 的回复:
应该是The specified Director truststore file cannot be found. Correct and try again.
这句话总结出了我的想法,一直模模糊糊的有这种感觉。这个SSL证书是LDAP服务器颁发给应用的,我是不是可以理解truststore就是LDAP服务器。希望fangmingshijie能给我分析下,谢谢了。
全中文的FTP服务器 - 全中文的用户界面,帮助文档和服务器响应。 多个虚拟服务器 - 服务器能够同时在一台机器上的多个端口同时运行多个虚拟服务器。 系统服务 - 服务器能够作为Windows系统服务运行,开机后自动运行FTP服务器。 内置的用户虚拟目录隔离 - 每个用户有独立的虚拟目录,用户看不到其他用户的虚拟目录。不再象传统FTP服务器,为了防止用户看到其他人的虚拟目录,而担心如何锁定用户在自己的主目录。 分级的虚拟目录系统 - 提供公共,以及组虚拟目录,便于管理和设置不同用户之间的文件共享。组虚拟目录能够被组中所有用户看到,公共虚拟目录能够被所有用户看到。 128比特SSL加密 - 采用业界公认的安全标准保护FTP会话和数据传输, 支持SSL客户端证书认证。 支持 SFTP(SSH2) 协议 - SFTP虚拟服务器现在能够象FTP虚拟服务器一样被创建和管理. 电子邮件事件通知 - 可以自动通过电子邮件通知FTP服务器的事件,如磁盘空间不足,用户上传,下载等. ODBC用户认证 - FTP用户账户,密码和设置可以存储在外部数据库,便于统一管理。 文件传输日志保存在数据库 - 文件传输日志可以通过ODBC保存在数据库内. 活动目录(AD) - 用户密码可以使用和Windows域相同的密码. 可以使用扩展模版xlightFTPdUser,在AD里保存Xlight FTP服务器用户的设置。 支持LDAP - 用户密码可以使用LDAP相同的密码。可以使用扩展模版xlightFTPdUser,在LDAP服务器里保存Xlight FTP服务器用户的设置。 支持UPnP - 当FTP服务器在宽带路由器后,可以方便通过UPnP配置宽带路由器让外部用户访问. UNC路径账号身份模拟 - FTP服务器可以很容易设置账号身份模拟访问受到保护的远端网络共享。 图型界面的远程管理 - 远程管理不需要专门的端口,可以通过FTP端口直接管理,在任何地方都可以轻松管理位于防火墙内的FTP服务器。 高级的配置管理功能 - 所有的FTP配置更改都立刻生效,无须重新启动FTP服务器,不会因为更改配置造成用户服务中断。 高级的访问控制 - 提供了很多方法,灵活方便的控制用户访问权限。 高级的带宽管理 - 可以对服务器的总带宽,虚拟服务器,组的带宽以及单个用户的速度进行细调,也可以根据时间,动态设定FTP服务器的带宽。 自动禁止IPs - 能够根据用户的Hammer或恶意行为自动禁止用户IP访问。 禁止或允许IPs - 能够根据用户的IP地址,禁止或允许用户的访问。 用户登录时间的控制 - 能够对每个用户,根据不同的时间,控制他是否可以访问FTP服务器。 文件访问控制 - 可以控制用户只能上传或下载特定的文件。 详细的服务器状态 - 服务器有详细的带宽使用,用户连接信息,以及上传下载状态。 完整的服务器日志 - 服务器有纪录用户行为以及系统错误的详细日志。 发送日志到Syslog服务器 - 所有服务器日志可以同时发送到Syslog服务器. 完整的IPv6支持 - 无缝的IPv6功能整合,所有FTP服务器功能都已经支持IPv6。 xferlog的支持 - 支持UNIX下FTP文件传输xferlog格式的日志,能够直接被如AWStats之类的流量统计工具使用。 MODE Z 支持 - 支持数据传输的实时压缩。 反盗链保护功能 - FTP服务器能够提供反盗链保护功能。
1.访问http页面内容,输出到标准输出 curl http://www.neocanable.com 2.生成文件 curl -o index.html http://www.neocanable.com 以远程文件名保存 curl -O http://www.neocanable.com 参数-o为输出到某个文件,上面的命令等同于wget http://www.neocanable.com或者curl http://www.neocanable.com > index.html 3.添加proxy curl -x xxx.xxx.xxx.xxx http://www.neocanable.com 通过代理ip访问网页 4.添加浏览器信息 通常服务器的日志会记录客户端浏览器的信息 curl -A “浏览器信息” http://www.neocanable.com 5.批量下载文件 curl http://www.xxx.com/action/[1-100].html > /dev/null 这个最适合爬自己网站的缓存了 文件下载后重新命名和类正则使用,下载后的文件是demo1-001.html curl -o #1_#2 http://www.xxx.com/~{demo1,demo2}/[1-100].html 创建需要的目录 curl -o –create-dirs http://www.xxx.com/~{demo1,demo2}/[1-100].html 6.分块下载 curl -r 0-1024 http://www.xxx.com/aa.zip curl -r 1025- http://www.xxx.com/aa.zip 先下1M,然后再下剩下的 7.curl ftp 访问ftp地址 curl -u username:password ftp://www.xxx.com curl -u ftp://www.xxx.com 添加端口 curl -u username:password -P8899 ftp://www.xxx.com 上传文件到ftp curl -T /home/neo/demo.jpg -u username:password ftp://www.xxx.com 8.测试参数 测试站点相应时间 curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total} www.google.com 查看http_code curl -o /dev/null -s -w %{http_code} http://www.neocanable.com 网页或文件大小 curl -o /dev/null -s -w %{size_header} http://www.neocanable.com http_code:http返回类似404,200,500等 time_total:总相应时间 time_namelookup:域名解析时间 time_connect:连接到目标地址耗费的时间 time_pretransfer:从执行到开始传输文件的时间间隔 time_starttransfer:从执行到开始传输文件的时间间隔 size_download:下载网页或文件大小 size_upload:上传文件大小 size_header:响应头 size_request:发送请求参数大小 speed_download:传输速度 speed_upload:平均上传速度 content_type:下载文件类型. (Added in 7.9.5) 9.post和get请求 get请求 curl “param1=name¶ms2=pass” http://www.xxx.com post请求 curl -d “param1=name¶ms2=pass” http://www.xxx.com 10.响应超时 curl -m 40 http://www.xxx.com curl –timeout 40 http://www.xxx.com 11.破解网站的防盗链 curl -e “http://www.a.net” http://www.b.net/acion 12.网站头部信息 curl -I http://www.neocanable.com 13.更总url跳转 curl -L http://url.cn/2yQFfd 14.正确的给url编码 curl –data-urlencode http://www.xxx.com/action?name=张三&sex=男 15.限制url的传输速度 curl –limit-rate http://www.xxx.com/action 16.限制下载文件大小 curl –max-filesize 1024 http://www.xxx.com/action 超过1M将不执行操作,并且返回出错 17.curl错误代码 1:未支持的协议。此版cURL不支持这一协议。 2:初始化失败。 3:URL格式错误。语法不正确。 5:无法解析代理。无法解析给定代理主机。 6:无法解析主机。无法解析给定的远程主机。 7:无法连接到主机。 8:FTP非正常的服务器应答。cURL无法解析服务器发送的数据。 9:FTP访问被拒绝。服务器拒绝登入或无法获取您想要的特定资源或目录。最有可能的是您试图进入一个在此服务器上不存在的目录。 11:FTP 非正常的PASS回复。cURL无法解析发送到PASS请求的应答。 13:FTP 非正常的的PASV应答,cURL无法解析发送到PASV请求的应答。 14:FTP非正常的227格式。cURL无法解析服务器发送的227行。 15:FTP无法连接到主机。无法解析在227行中获取的主机IP。 17:FTP无法设定为二进制传输。无法改变传输方式到二进制。 18:部分文件。只有部分文件被传输。 19:FTP不能下载/访问给定的文件, RETR (或类似)命令失败。 21:FTP quote错误。quote命令从服务器返回错误。 22:HTTP 找不到网页。找不到所请求的URL或返回另一个HTTP 400或以上错误。此返回代码只出现在使用了-f/–fail选项以后。 23:写入错误。cURL无法向本地文件系统或类似目的写入数据。 25:FTP 无法STOR文件。服务器拒绝了用于FTP上传的STOR操作。 26:读错误。各类读取问题。 27:内存不足。内存分配请求失败。 28:操作超时。到达指定的超时期限条件。 30:FTP PORT失败。PORT命令失败。并非所有的FTP服务器支持PORT命令,请尝试使用被动(PASV)传输代替! 31:FTP无法使用REST命令。REST命令失败。此命令用来恢复的FTP传输。 33:HTTP range错误。range “命令”不起作用。 34:HTTP POST错误。内部POST请求产生错误。 35:SSL连接错误。SSL握手失败。 36:FTP 续传损坏。不能继续早些时候被中止的下载。 37:文件无法读取。无法打开文件。权限问题? 38:LDAP 无法绑定。LDAP绑定(bind)操作失败。 39:LDAP 搜索失败。 41:功能无法找到。无法找到必要的LDAP功能。 42:由回调终止。应用程序告知cURL终止运作。 43:内部错误。由一个不正确参数调用了功能。 45:接口错误。指定的外发接口无法使用。 47:过多的重定向。cURL达到了跟随重定向设定的最大限额跟 48:指定了未知TELNET选项。 49:不合式的telnet选项。 51:peer的SSL证书或SSH的MD5指纹没有确定。 52:服务器无任何应答,该情况在此处被认为是一个错误。 53:找不到SSL加密引擎。 54:无法将SSL加密引擎设置为默认。 55:发送网络数据失败。 56:在接收网络数据时失败。 58:本地证书有问题。 59:无法使用指定的SSL密码。 60:peer证书无法被已知的CA证书验证。 61:无法辨识的传输编码。 62:无效的LDAP URL。 63:超过最大文件尺寸。 64:要求的FTP的SSL水平失败。 65:发送此数据需要的回卷(rewind)失败。 66:初始化SSL引擎失败。 67:用户名、密码或类似的信息未被接受,cURL登录失败。 68:在TFTP服务器上找不到文件。 69:TFTP服务器权限有问题。 70:TFTP服务器磁盘空间不足。 71:非法的TFTP操作。 72:未知TFTP传输编号(ID)。 73:文件已存在(TFTP) 。 74:无此用户(TFTP) 。 75:字符转换失败。 76:需要字符转换功能。 77:读SSL证书出现问题(路径?访问权限? ) 。 78:URL中引用的资源不存在。 79:SSH会话期间发生一个未知错误。 80:未能关闭SSL连接。 82:无法加载CRL文件,丢失或格式不正确(在7.19.0版中增加 ) 。 83:签发检查失败(在7.19.0版中增加 ) 。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧