首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java程序中使用SSL证书

如何在Java程序中使用SSL证书
EN

Stack Overflow用户
提问于 2010-07-02 00:17:02
回答 1查看 2.6K关注 0票数 1

我正在尝试通过SSL连接查询LDAP。我收到了一份证书,然后运行:

keytool -import -trustcacerts -alias www.the-domain.com -file the-cert.der -keystore store.jks

然后,我将以下内容添加到Intellij的运行配置中,从而将我的Java程序指向证书:

-Djavax.net.ssl.trustStore=/path/to/store.jks

当我尝试连接时,我得到一个套接字关闭的异常。我是不是走错了一步?

以下是标准输出,稍作修改以删除IP信息:

javax.naming.ServiceUnavailableException: <ip:port>; socket closed
at com.sun.jndi.ldap.Connection.readReply(Connection.java:419)
at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:340)
at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:192)
at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2694)
at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
at LDAPTool.main(LDAPTool.java:35)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-08 07:22:35

我发现了我的问题所在。我没有正确设置我的环境。

env.put(Context.SECURITY_PROTOCOL, "ssl");

显然,当使用ssl时,您需要指定安全协议,这是有意义的...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3159664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档