由于信任问题,我有OpenSSL连接到服务器的麻烦。 我将CA证书放在/etc/ssl/certs/ ,并运行sudo c_rehash ,可以看到正确的文件已经被创build。 我可以看到CA证书在ca-certificates.crt中。 但是,如果我运行:
openssl s_client -connect servername.domain.com:636
该命令失败,validation返回码:21(无法validation第一个证书)
如果我做:
openssl s_client -connect servername.domain.com:636 -CApath /etc/ssl/certs/
我得到validation返回码:0(好)
LDAP与jBilling的集成
未经身份validation的绑定(不带密码的DN)不允许
LDAP – 检索所有属性/值的列表?
是否有可能查询特定域用户当前login的IP地址列表(或机器名称)?
FreeIPA LDAP超时可能由于kerberos
我该怎么做,所以我不必指定CApath?
我使用Ubuntu 13.04。
Python ldap3 LDAPSocketopenError无法发送消息,套接字未打开
无法通过SSL将示例程序绑定到LDAP服务器(ldaps://)
如何通过ldap / MS ADauthenticationredhat用户
Linux:如何获得连接到域的所有主机的列表? (CentOS 6.5)
由于信任问题,OpenSSL连接到服务器。
与几乎所有人都信任的浏览器不同,OpenSSL默认信任任何东西。
由你决定什么是值得信赖的。 使用OpenSSL和s_client时必须指定一些东西。
如果您使用OpenSSL API以编程方式工作,则可以使用更多选项。 但是这似乎与使用OpenSSL命令有关。
我可以做什么,所以我不需要指定CApath ?
您可以使用CAfile 。 它避免了重新哈希,并为域的信任创建1:1映射。 也就是说,你只相信一个发行人的问题。 如果任何其他发行人声称是发行人,则不会信任发行人或服务器。
您可以看到如何从OpenSSL的s_client提取所需的信息,并在如何获取OpenSSL中的SSL证书中使用CAfile 。
在使用CAPath所有证书时,即使不是真正的发行者,也要信任任何发行人。 这发生在过去和它的不好。
角落案例是一个坏家伙妥协了你信任的CA,并为域名发布伪造证书。 这也发生在过去,也是不好的。
在上述两种负面情况下,您可以放弃对DNS和CA的信任,并使用证书或公钥固定等安全多样化技术。 如果您和站点之间存在预先存在的关系,那么您知道服务器的预期公钥。 在这种情况下,不需要信任CA.
您还可以设置和导出环境变量SSL_CERT_FILE或SSL_CERT_DIR …
export SSL_CERT_FILE=/path/to/ca_bundle.crt
export SSL_CERT_DIR=/path/to/ca/dir
然后,您不必在每个openssl命令中指定CAfile或CApath。
如果我正确理解了这个问题,你必须在你的域名上分配证书。
你可以做到(在Apache)到/etc/httpd/vhost.d/servername.domain.com (如果你使用虚拟主机)
SSLEngine On SSLProtocol all -SSLv2 SSLCipherSuite HIGH:MEDIUM SSLCertificateFile /etc/httpd/ssl/yourcert.crt SSLCertificateKeyFile /etc/httpd/ssl/yourcert.key SSLCertificateChainFile /etc/httpd/ssl/yourcert.ca-bundle
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。