Openssl 是否可以执行多个证书验证?

Openssl 是否可以执行多个证书验证?,openssl,certificate,ssl-certificate,Openssl,Certificate,Ssl Certificate,在我当前的项目中,服务器有两个由不同CA签署的证书;必须在一个会话中验证这两个选项(如下所示)。这可行吗?非常感谢 server ==(cert1, cert2)==> client 一旦您收到两个或多个证书,这是可行的 验证这两个证书就像一个两步过程: 验证证书1 验证证书2 请确保您拥有CAs证书,并且您必须信任CAs 若CA是中间CA,那个么您必须拥有指向根证书的证书链 为了进行验证,您可以使用OpenSSL函数,例如X509\u verify,其中需要CA公钥和证书。请提及您收到

在我当前的项目中,服务器有两个由不同CA签署的证书;必须在一个会话中验证这两个选项(如下所示)。这可行吗?非常感谢

server ==(cert1, cert2)==> client

一旦您收到两个或多个证书,这是可行的

验证这两个证书就像一个两步过程:

  • 验证证书1
  • 验证证书2
  • 请确保您拥有CAs证书,并且您必须信任CAs

    若CA是中间CA,那个么您必须拥有指向根证书的证书链


    为了进行验证,您可以使用OpenSSL函数,例如
    X509\u verify
    ,其中需要CA公钥和证书。

    请提及您收到两个证书的场景。意思是,服务器将如何发送这两个证书。@dbasic这取决于服务器配置,但很容易实现。最初,我认为修改SSL证书验证回调就足够了。但我错了。正如我所看到的,挑战在于如何处理两个私钥。这似乎只有在深入研究协议的情况下才有可能,这是不容易做到的。我也想到了类似的事情:将两个证书打包在一个包中,服务器就可以加载该文件。但我不知道如何处理两个私钥。标准TLS/SSL协议仅使用一个私钥来加密握手中的消息。如果未使用其他私钥,则验证过程不完整。