最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

[LDAP上具有ldap

网站源码admin16浏览0评论

[LDAP上具有ldap

[LDAP上具有ldap

我对域的概念还很陌生,正在尝试在节点中的TLS上实现LDAP。我已经困扰了很多天了。我正在使用ldap-client。

var LDAP = require('ldap-client');

var ldap = new LDAP({
    validatecert:    false,             // Verify server certificate
    ...
}, function(err) {
    // connected and ready    
});

因此,通过一些研究,我得出的结论是,如果要设置字段[[validatecert,则应为这些值

LDAP.LDAP_OPT_X_TLS_NEVER = 0; LDAP.LDAP_OPT_X_TLS_HARD = 1; LDAP.LDAP_OPT_X_TLS_DEMAND = 2; LDAP.LDAP_OPT_X_TLS_ALLOW = 3; LDAP.LDAP_OPT_X_TLS_TRY = 4;
[在库文档的TLS部分下引用

TLS可以在实例化时通过URI属性中的ldaps://协议字符串使用。如果要避开服务器证书检查(例如,如果具有自签名的cserver证书),则可以将verifycert属性设置为LDAP.LDAP_OPT_X_TLS_NEVER或以下值之一:

我可以用来建立安全连接的方式。

我知道我们需要证书才能使TLS连接正常工作。一个由服务器持有,另一个由客户端(我)持有。我的问题是是否将字段设置为任何上述方法:

    我如何验证我的连接是否安全?
  • 我在哪里可以看到证书或根本看不到它们?
  • 我必须从服务器手动生成证书并使用它们吗?
回答如下:

证书是一种帮助他人验证提供证书的实体确实是其所声称的身份的手段。因此,当您连接到服务器并且服务器返回证书时,通过该证书,您可以确保服务器确实是服务器,而不是冒名顶替者。

证书的权力归发行人(也称为证书颁发机构或CA)所有。如果您信任颁发者,那么您就可以有效地信任由颁发者颁发的证书。操作系统本身通常会列出一些著名的CA,因此,获得证书和对该证书的验证对应用程序开发人员是透明的,尤其是在使用库时。


[一个接一个地表达您的观点:

我知道我们需要证书才能使TLS连接正常工作。一个由服务器保存,另一个由客户端(我)保存。

您在这里没有问任何问题,这里是一些常规信息。通常,只需要服务器验证即可。在高安全性环境中,也要进行客户端验证,因此您(即客户端)需要CA颁发的证书才能向服务器验证自己。但是,在大多数应用程序中,服务器验证就足够了。

类似于RDBMS规范化中的范式。即使您具有6NF严格的范式,通常RDBMS的范式也会标准化到3NF。


我如何验证我的连接是否安全?

通常,如果您使用的是众所周知的库(例如curl或openLDAP),则调用其安全连接方法就足够了。您极不可能调用该函数库声称安全的函数,但事实证明这是一场闹剧。

不过可以确定,您可以查看服务器的流量。 Wireshark通常用于网络流量分析。


我在哪里可以看到证书或根本看不到它们?

在大多数情况下,您不会看到证书。您要做的就是告诉您的图书馆您希望验证的严格程度。然后,您的库将负责其余的工作-如果证书存在问题,通常会引发异常或记录错误。

如果使用客户端证书,则必须将其保留在文件系统上,然后将库指向该证书系统。通常是一个.pem文件。


我必须从服务器手动生成证书并使用它们吗?

没有对于服务器证书,服务器有责任为您提供有效的证书。您所要做的只是检查服务器发送的证书是否来自已建立的CA-如前所述,这通常是使用该库的开发人员的透明步骤。

[如果您不太在意,或者想要开始编码而CA尚未为您颁发证书,则可以对服务器进行编程,以为其客户端提供自签名证书,然后对客户端进行编程。保持不太严格的验证。

自签名证书在安全性方面几乎没有价值。就像服务器在说-“嘿,我告诉你我是你想和他聊天的人。”显然这还不够。您想让您完全信任的第三人(即CA)来确认那是您想要与之交谈的人。

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论