首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx ssl_trusted_certificate指令无效

nginx ssl_trusted_certificate指令无效
EN

Stack Overflow用户
提问于 2018-04-17 18:46:03
回答 1查看 5.9K关注 0票数 6

当我尝试使用此配置启动nginx服务器时,会出现一个错误。

代码语言:javascript
复制
nginx: [emerg] no ssl_client_certificate for ssl_client_verify

我的配置看起来

代码语言:javascript
复制
# HTTPS server
server {
    listen       4443;
    server_name  localhost;
    ssl                  on;
    ssl_certificate      /home/user/conf/ssl/server.pem;
    ssl_certificate_key  /home/user/conf/ssl/server.pem;
    ssl_protocols        TLSv1.2;

    ssl_verify_client optional;
    ssl_trusted_certificate /home/user/ssl/certs/certificate_bundle.pem;

    include conf.d/api_proxy.conf;
}

根据错误,我应该使用ssl_client_certificate指令,但是根据文档,如果我不想向客户端发送证书列表,我应该使用ssl_trusted_certificate

certificate

有人能帮我找出我错过了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2018-09-07 20:09:09

答案是错误消息本身:

代码语言:javascript
复制
nginx: [emerg] no ssl_client_certificate for ssl_client_verify

如果在配置中禁用ssl_client_verify,则该错误将在nginx的下一次启动时消失。看来,ssl_trusted_certificate的语义只与其独占使用有关,并且在其他配置指令发挥作用时受到“逻辑覆盖”的影响。

我个人更倾向于让ssl_client_verify的意思是:“如果出现了客户端证书就会被验证;客户端没有被web服务器信任的客户证书或权限的信息”。但是,当有此信息时,我还可以看到故障排除TLS握手的优点。从安全角度来看,我只看到通过openssl s_client提供给客户端的元数据;没有公钥或其他“关键签名”信息可供恶意客户端使用,例如,试图克隆/重构CA。

例如,使用您的配置对nginx的本地实例运行以下命令:

openssl s_client -key client.key -cert client.crt -connect localhost:443

..。将显示的数据在结构上类似于答复中的以下内容:

代码语言:javascript
复制
Acceptable client certificate CA names
/CN=user/OU=Clients/O=Company/C=Location
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits

在我看来,上述价值局限于故障排除。

您的DN结构(理想情况下)与“安全性无关”(特别是如果上下文是面向Internet的web服务)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49885400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档