ssl 为什么curl不能使用自签名证书连接到OpenDJ

velaa5lx  于 2022-12-29  发布在  其他
关注(0)|答案(2)|浏览(176)

有人能告诉我为什么curl in不使用ldap和自签名证书吗?
我有一个侦听ldaps端口636的Opendj目录服务器,我正尝试使用curl和opendj的自签名证书从远程服务器连接到它:
[root@我的服务器] #/usr/bin/curl-v-k--cacert/tmp/opendj.证书ldaps://a.b.c. d/dc =示例,dc = com
这是我得到的错误信息

  • 即将连接()到a.b.c. d端口636(#0)
  • 正在尝试a.b.c.d. ..连接
  • 连接到a.b.c. d(a.b.c. d)端口636(#0)
  • LDAP本地:LDAP供应商= OpenLDAP; LDAP版本= 20423
  • LDAP本地:ldaps://a.b.c. d:636/dc =示例,dc = com
  • LDAP本地:正在尝试建立加密连接
  • LDAP本地:ldap_simple_bind_s无法联系LDAP服务器
  • 闭合连接#0 curl :(38)LDAP本地:ldap_simple_bind_s无法联系LDAP服务器

[root@我的服务器] #/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 Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
请注意,它在LDAP上工作:
[root@myserver] #/usr/bin/curl-v ldap://a.b.c. d/dc =示例,dc = com * 即将连接()到a.b.c. d端口389(#0)* 正在尝试a.b.c.d. ..已连接 * 已连接到a.b.c. d(a.b.c. d)端口389(#0)* LDAP本地:LDAP供应商= OpenLDAP; LDAP版本= 20423 * LDAP本地:ldap://a.b.c. d/dc =示例,dc = com * LDAP本地:正在尝试建立明文连接DN:dc =示例,dc = com dc =示例,dc = com

objectClass: domain
objectClass: top
  • 正在关闭连接#0

谢谢,S. E

mzmfm0qo

mzmfm0qo1#

最有可能的原因是启用了SSL层,以便在客户端和服务器之间就公用密码套件达成一致。如果在服务器端或客户端启用SSL调试,则应该能够获得更详细的错误原因。您可能需要检查http://ludopoitou.wordpress.com/2011/06/29/opendj-troubleshooting-ldap-ssl-connections/
此致,
卢多维奇

sg24os4d

sg24os4d2#

大多数SSL工具都会尝试验证所连接的对等体的证书。基本上,它们会检查证书是否由它们已经信任的权威机构签名,并且curl不喜欢其中一个证书的某些方面。对于您正在连接的机器上的自签名证书,此验证通常会失败。
Curl有一个命令行选项--insecure可以提供帮助
试试这样的方法:

curl --url scp://191.168.0.99/etc/config/wireless.conf -u <username>:<password> --pass --insecure -s > C:\wireless.conf

您需要替换您的URL,凭据和文件名,但这些参数实际上告诉curl跳过证书的对等验证,而只是接受证书并使用密码身份验证。这完全绕过了SSL设计所要提供的很大一部分安全性,但我相信它仍然会对传输进行加密。据我所知,唯一的其他选择是获得一个证书curl喜欢和验证安装在源主机上,或者找到并使用以Curl喜欢的形式签署当前源证书的根证书。

相关问题