有人可以告诉我为什么卷曲不使用ldaps和自签名证书?
我有一个在ldaps端口636上侦听的Opendj目录服务器,我正在尝试使用curl和opendj的自签名证书从远程服务器连接到它:
[root @ myserver]#/ usr / bin / curl -v -k --cacert /tmp/opendj.cer ldaps://a.b.c.d/dc=example,dc=com
这是我收到的错误消息:
[root @ myserver]#/ usr / bin / curl -V
curl 7.19.7(x86_64-redhat-linux-gnu)libcurl / 7.19.7 NSS / 3.12.9.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.2.2
协议:tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
功能:GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
请注意,它不适用于ldap:
[root @ myserver]#/ usr / bin / curl -v ldap://a.b.c.d/dc=example,dc=com *即将连接()到a.b.c.d端口389(#0) *尝试a.b.c.d ...已连接 *连接到a.b.c.d(a.b.c.d)端口389(#0) * LDAP local:LDAP Vendor = OpenLDAP; LDAP版本= 20423 * LDAP local:ldap://a.b.c.d/dc=example,dc=com * LDAP local:尝试建立明文连接 DN:dc = example,dc = com DC =例如,DC = COM
objectClass: domain
objectClass: top
谢谢, S.E
答案 0 :(得分:0)
最有可能的原因是,SSL层可以在客户端和服务器之间达成一致的通用密码套件。如果在服务器端或客户端启用SSL调试,则应该能够获得更详细的错误原因。 您可能需要查看http://ludopoitou.wordpress.com/2011/06/29/opendj-troubleshooting-ldap-ssl-connections/。
此致
朱利
答案 1 :(得分:0)
大多数SSL工具都会尝试验证与其连接的对等方的证书。基本上他们检查它是否由他们已经信任的权威机构签署,并且curl不喜欢其中一个证书。对于要连接到此验证的计算机上的自签名证书,通常会失败。
Curl有一个命令行选项,可以帮助--insecure
尝试这样的事情:
url --url scp://191.168.0.99/etc/config/wireless.conf -u <username>:<password> --pass -k --insecure -s > C:\wireless.conf
您需要替换URL,凭据和文件名,但参数实际上告诉curl跳过证书的对等验证并接受它并使用密码验证。这完全绕过了SSL旨在提供的安全性的很大一部分,但我相信它仍然会加密传输。据我所知,唯一的其他选择是获得证书卷曲喜欢并验证安装在源主机上,或者找到并使用以卷曲喜欢的形式签署当前源证书的根证书。