当前位置: 首页 > 知识库问答 >
问题:

将TLS相互身份验证限制为特定的TLS证书

乐正迪
2023-03-14

我如何使我网络中的服务器和客户端不仅验证信任链,而且尊重某种白名单?

也许这在TLS层上是不可行的,这就是我想澄清的。

共有1个答案

益清野
2023-03-14

您可以使用以下两种方法中的任何一种来实现这一点-

>

  • 在TLS层验证客户端证书:为每个客户端组创建单独的中间颁发CA。例如,对于Server_A的所有客户端,创建一个名为ca_client_a的CA。因此您的链将看起来像rootca->ca_client_a->client证书。将此Ca_Client_A导入server-a的信任存储区中。现在,Server_A将允许连接到已发出ca ca_client_a的客户端。类似地,您可以创建Ca_Client_B中间CA以便由服务器B为客户端组B提供服务。

    在应用层验证客户端证书:为此,您需要在应用服务器中编写身份验证逻辑,在那里您需要放置约束,如允许的客户端证书序列号或与关键字匹配的CN名称,以获得成功的身份验证。

  •  类似资料:
    • 在不限制客户端证书的情况下,TLS中的相互身份验证有什么用? 以下是我对使用TLS的客户端/相互身份验证的理解。 现在rfc5246表示如下 这不会实现任何身份验证正确吗?例如,如果我有一个服务器信任由世界各地受信任的CA签署的任何证书,那么为什么还要费心于客户端身份验证呢?

    • 我正在尝试为部署在Kubernetes集群中的应用程序启用基于TLS的相互身份验证。 希望将对应用程序的访问限制为只有那些具有受信任客户端证书的用户。 基于某些情况/条件,我还希望吊销特定用户的证书,以便该用户不再能够使用其证书访问应用程序。 我尝试在kuberentes ingress controller(基于nginx)中设置Mutual TLS,方法是添加以下注释。 是包含用于颁发客户端证

    • 我已经在Netty中尝试了双向SSL身份验证 但这个例子不再显示任何信息,只是一个404未找到。我在这里找到了一些帮助: https://github.com/code4craft/netty-learning/blob/master/netty-3.7/src/main/java/org/jboss/netty/example/securechat/SecureChatSslContextFac

    • 问题内容: 我想为在Raspberry Pi上运行并像本地服务器一样工作的软件制作一些更新脚本。该服务器应连接到Web上的主服务器,以获取软件更新并验证软件的许可证。为此,我设置了两个python脚本。我希望它们通过TLS套接字连接。然后,客户端检查服务器证书,然后服务器检查它是否是授权的客户端之一。我在此页面上找到了解决方案。 现在还有一个问题。我想知道 哪个客户端 (取决于证书)正在建立连接。

    • 我正在尝试为相互身份验证设置ActiveMQ,以便客户端需要证书才能将消息传递给代理。我在代理上创建了一个密钥库和一个信任库,并导出了一个复制到客户端的证书。在客户端,我也做了同样的事情,尽管我使用的是NMS,所以我只使用导出的证书,我将其添加到代理的信任库中。我还将证书添加到另一个本地计算机可信根证书中。 代理的配置如下: ${activemq.base}/conf/login.config $

    • 通过本任务,将学习如何: 验证Istio双向TLS认证配置 手动测试认证 开始之前 本任务假设已有一个Kubernetes集群: 已根据Istio安装任务安装Istio并支持双向TLS认证。 注意,要在”Installation steps“中的第5步选择”enable Istio mutual TLS Authentication feature”。 验证Istio双向TLS认证配置 以下命令假