apache 中缺少配置以实现相互 SSL 身份验证

apache 中缺少配置以实现相互 SSL 身份验证

在 CentOS 平台上使用 OpenSSL 和 Apache Web 服务器实现相互证书认证后,我尝试了以下场景(参见此图):


                        ----------
                       |  Root CA  |    // Self-Signed Certificate
                        ----------
                     |                 |     
                ----------          ----------
              |  SiteA CA  |       |  SiteB CA  |  //Two Different Intermediate CAs
                ----------           ----------
               |          |                |          |
            -------    -------            -------     -------
         | Server1 | | Client1 |        | Server2 | | Client2 | 
            -------    -------            -------     -------          

所以我有不同的网站和不同的域名,例如:

www.siteA.com  
www.siteB.com

rootca.crt在浏览器中输入由 siteA CA 签名的证书后client1.crt,我遇到了一个大问题!客户端 1 的证书由 SiteCA1 签名,因此可以同时访问站点 A 和 B!这完全是错误的。
我该怎么做才正确?

答案1

我发了一个回答针对证券交易委员会详细描述了如何实现SSL相互认证。

简而言之,如果您创建客户端证书,那么您可以做得更好,请记住您的服务器必须有一种方法来区分客户端,以便能够根据先前的前提限制对站点的访问。

根据您的目的选择存储在客户端证书 x509 结构中的相应信息。请查看 Apache 在线文档

相关内容