gpt4 book ai didi

java - SSL 有两种方式不适用于我的 OpenLDAP

转载 作者:太空宇宙 更新时间:2023-11-03 14:15:28 25 4
gpt4 key购买 nike

我打算测试 JAVA 客户端和 OpenLDAP 服务器之间的 SSL 2 路连接(握手)。

     System.setProperty("javax.net.ssl.trustStore","C:\\Program Files (x86)\\Java\\jre7\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword","changeit");
System.setProperty("javax.net.debug","ssl");

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
// Specify SSL
env.put(Context.SECURITY_PROTOCOL, "SSLv3");


System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.keyStore", "C:\\OpenLDAP\\etc\\certs\\client.p12");
System.setProperty("javax.net.ssl.keyStorePassword", "password");

env.put(Context.PROVIDER_URL, "ldaps://localhost:636");

我使用默认参数安装了 OpenLDAP,并将 server.pem 导出到上面的信任库。从日志中我可以看到在 serverHello 完成后握手失败,我猜是尝试获取客户端证书的问题。我所做的配置有什么问题?

最佳答案

您需要将服务器证书添加到 Java 的 keystore ,因为我假设它是自签名的。

您可以使用以下方式获取证书

openssl s_client -connect [主机名]:[端口 例如第443章

然后将证书添加到您的 keystore

keytool -importcert -keystore [ keystore 位置,各不相同,但可以是例如/etc/pki/java/cacerts] -storepass changeit -file/tmp/lb.cert -alias newSelfSignedKey -noprompt

关于java - SSL 有两种方式不适用于我的 OpenLDAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20810475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com