Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 证书是否存在SSL连接/状态“;要点;如果在OpenSSL中加载新证书,是否更改?_Security_Ssl_Certificate_Openssl - Fatal编程技术网

Security 证书是否存在SSL连接/状态“;要点;如果在OpenSSL中加载新证书,是否更改?

Security 证书是否存在SSL连接/状态“;要点;如果在OpenSSL中加载新证书,是否更改?,security,ssl,certificate,openssl,Security,Ssl,Certificate,Openssl,我正在构建一个应用程序,使用户能够连接到同一台服务器。与使用自己的证书/私钥的应用程序/设备不同,重要的是确保每个用户都有自己的证书/私钥用于加密 现在,我从OpenSSL网站文档中了解到,OpenSSL的内部证书存储可以保存RSA密码的一个证书/密钥对。我的问题是: 假设我有一个名为ssl1的SSL结构,它是我从SSL\u CTX创建的,我没有在SSL\u CTX中设置要使用的证书/密钥(因此没有继承证书/密钥)。然后,我继续为与某个用户关联的ssl1设置证书/密钥。然后假设我有另一个名为ss

我正在构建一个应用程序,使用户能够连接到同一台服务器。与使用自己的证书/私钥的应用程序/设备不同,重要的是确保每个用户都有自己的证书/私钥用于加密

现在,我从OpenSSL网站文档中了解到,OpenSSL的内部证书存储可以保存RSA密码的一个证书/密钥对。我的问题是:

假设我有一个名为ssl1的SSL结构,它是我从SSL\u CTX创建的,我没有在SSL\u CTX中设置要使用的证书/密钥(因此没有继承证书/密钥)。然后,我继续为与某个用户关联的ssl1设置证书/密钥。然后假设我有另一个名为ssl2的SSL结构,它是从同一个SSL\u CTX创建的。然后,我继续为与第一个用户不同的用户关联的ssl2设置证书/密钥

如果此时我在ssl1上调用SSL_connect()API,它会使用我为ssl2设置的证书/密钥吗?我问,因为商店说它只保存一个证书/密钥对,我最后加载了ssl2的证书/密钥,因此我认为它会覆盖我首先加载的ssl1的证书/密钥


谢谢你阅读我的帖子。非常感谢您提供的任何帮助/智慧/建议。

首先,我对您要求的实现细节感到困惑。第二,我想不出在什么情况下,不同的密钥会有用,除非您试图通过用户的证书对用户进行身份验证——您显然没有这样做(用户需要不同的加密,而不是身份验证)


我相信您真正想要做的是使用提供的设置建立连接。要做到这一点,您需要使用TLS密码,所有密码的名称都以TLS_DHE_开头。这些密码使用Diffie Helman密钥交换,从而使服务器密钥的作用基本上成为服务器对用户的身份验证。

SSL_CTX充当SSL对象的模板。因此,当您创建新的SSL对象时,它将继承从中创建SSL_CTX的属性/属性。这一点已明确提到

因此,对于您的问题,ssl1ssl2对象都将使用它们自己的证书/密钥